Ce qui suit ne sera pas enregistrer le Toast lors d'un clic. En fait, il ne semble même pas détecter un clic. La classe parente que CustomListTitle étend est ListActivity, donc tout doit être défini, mais cela ne fonctionne pas. Pas d'erreurs, juste ne pas enregistrer un clic.onListItemClick() ne fonctionne pas pour ListView dans Android
package com.mtp;
import android.app.Activity;
import android.app.ListActivity;
import android.content.Intent;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.Toast;
public class AvoidForeclosure extends CustomListTitle {
// create variables
private DbAdapter db;
private SimpleCursorAdapter adapter;
private ListView list;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// set to main layout
setContentView(R.layout.main);
// set title
this.title.setText("Avoid Foreclosure");
// open new DB connection
db = new DbAdapter(this);
db.open();
// Get all the clients and manage the cursor
Cursor c = db.fetchAllClients();
startManagingCursor(c);
String[] from = new String[] { DbAdapter.KEY_NAME };
int[] to = new int[] { R.id.text1 };
// Create an array adapter and set it to display using our row
adapter = new SimpleCursorAdapter(this, R.layout.clientsrow, c, from, to);
// Set the adapter
setListAdapter(adapter);
// get the list and set some data
list = getListView();
list.setTextFilterEnabled(true);
list.setClickable(true);
}
@Override
protected void onListItemClick(ListView list, View v, int position, long id) {
// TODO Auto-generated method stub
// get the selection then attempt to make a Toast
String selection = list.getItemAtPosition(position).toString();
Toast.makeText(this, selection, Toast.LENGTH_LONG).show();
// Comment these out for now until I get a working Toast.
//Intent intent = new Intent();
//intent.setClass(v.getContext(), CurrentMarketValue.class);
//intent.putExtra("clientId", clientData.getInt(0));
//startActivity(intent);
super.onListItemClick(list, v, position, id);
}
}
Et voici ma mise en page principale:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/widget55"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:descendantFocusability="blocksDescendants"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Choose a current client:"
android:textStyle="bold"
android:layout_margin="3dip"
/>
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:descendantFocusability="blocksDescendants"
/>
<TextView android:id="@android:id/empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="There are no Clients yet."
/>
</LinearLayout>
Et voici ma mise en page de clientsrow que le ListView utilise pour remplir:
<?xml version="1.0" encoding="utf-8"?>
<TextView android:id="@+id/text1" xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#FF0081D3"
android:padding="10dip"
android:textStyle="bold"
android:inputType="textCapWords"
android:capitalize="words"
android:focusable="false"
/>
Toutes les idées? Je vous remercie! Je suis tellement coincé et sur une date limite.