SimpleCursorAdapterを備えたアプリがあります。DBテーブルの内容をリストに表示することはできますが、リスト内の項目がクリックされたときに何かを実行したいと思います。Eclipseでソースに移動し、clickListenerをオーバーライドしようとすると、オーバーライドするものは何もありません。onListitemClickのようにオーバーライドするメソッドを探しています。どうすればいいですか?
Eclipseは、メソッドonListItemClickについても文句を言います。たとえば、スーパータイプメソッドをオーバーライドまたは実装する必要があると言います。@Overrideアノテーションを削除すると、そのエラーが発生し、リストは表示されますが、リスト内のアイテムに触れてもイベントは発生しません。
private class MyAdapter extends SimpleCursorAdapter {
public MyAdapter(Context context, int layout, Cursor c, String[] from,
int[] to) {
super(context, layout, c, from, to);
}
@Override
public
View getView(int position, View convertView, ViewGroup parent) {
Log.e(TAG, "inside myadapter getview");
View v = super.getView(position, convertView, parent);
if(v == null)
return null;
Cursor c = (Cursor)getItem(position);
String phoneName = c.getString(c.getColumnIndex(LoginValidate.C_PHONE_NAME));
String phoneNumber = c.getString(c.getColumnIndex(LoginValidate.C_PHONE_NUMBER));
((TextView)v.findViewById(R.id.phonename)).setText(phoneName );
((TextView)v.findViewById(R.id.phonenumber)).setText(phoneNumber);
((TextView)v.findViewById(R.id.phonename)).setTextColor(Color.BLACK);
((TextView)v.findViewById(R.id.phonenumber)).setTextColor(Color.BLACK);
return v;
}
}// end of adapter
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
Log.e(TAG, "clicked an item in list");
}