ListView
右側に画像があります。onClick
の画像をクリックしてリスナーイベントを実行したかったのListView
です。参考までに画像をご覧ください。
私は基本的なOnClick
リスナーの実装を知っていますが、これは私には少し注意が必要なようです:P
言及するのを忘れて、実際ListView
をクリックすると新しいアクティビティが発生するので、両方のスキーマを維持する必要があります。
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
eventsData.remove(id);
cursor.requery();
}
});
上記のコードは、リスト要素をクリックして削除eventsData.remove(id);
を実行します。これは、このタスクを実行するためのデータベースヘルパーです。今言ったように、リスト要素全体ではなく、画像をクリックしてこれと同じプロセスを実行するメソッドが必要です。後でリスト要素に他のアクションを実行させたいと思います。
私は今、私が少し明確になっていることを願っています。
ソリューション:
誰かが同じ種類の状況に遭遇した場合は、ここにアダプターの完全なコードがあります。
class CustomAdapter extends ArrayAdapter<String> {
CustomAdapter() {
super(Activity.this, R.layout.row, R.id.label, items);
}
public View getView(final int position, View convertView,
ViewGroup parent) {
View row=super.getView(position, convertView, parent);
deleteImg=(ImageView)row.findViewById(R.id.icon);
deleteImg.setImageResource(R.drawable.delete);
deleteImg.setOnClickListener(new OnClickListener() {
String s = items[position];
@Override
public void onClick(View v) {
Toast.makeText(context, s, Toast.LENGTH_SHORT).show();
}
});
return(row);
}
}
コーディングが少しくだらないことはわかっているので、我慢してください。実際のプロセスを示したいだけです。
それは私のために働いています:)