У меня есть 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);
}
}
Я знаю, что код немного дрянной, так что потерпите меня, я просто хочу показать реальный процесс, вот и все.
У меня работает :)