Я разрабатываю приложение android и у меня серьезные проблемы с listview.Capture Touch Events on ListView
Сначала у меня был onItemClickListener, и он работал хорошо, но теперь я включил некоторые новые функции в макет, и он не работает.
мой код:
lv = (ListView) findViewById(R.id.listChap);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Toast.makeText(CapituloList.this,"Pulsado",Toast.LENGTH_SHORT).show();
Capitulo chap = (Capitulo) mAdapter.getItem(i);
Intent mIntent = new Intent(CapituloList.this, MangaView.class);
mIntent.putExtra("capitulo", chap);
startActivity(mIntent);
}
});
И в Capitulo адаптер у меня есть:
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.list_manga_item_view,null);
TextView tv = (TextView) view.findViewById(R.id.nombre_manga);
ImageButton ib = (ImageButton) view.findViewById(R.id.checked_icon);
ImageButton ib2 = (ImageButton) view.findViewById(R.id.unchecked_icon);
tv.setText(mItems.get(i).getCapitulo());
return view;
}
Obviusly я хочу diferientiate между штрихами на И.Б., Ib2 и остальной части макета Видимый результат это: щелкните по URL-адресу, у меня нет репутации, чтобы публиковать изображения http://i.imgur.com/kNXU8lE.png
Заранее благодарен
EDIT: решаемые
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.list_manga_item_view,null);
TextView tv = (TextView) view.findViewById(R.id.nombre_manga);
final Capitulo chap = (Capitulo) this.getItem(i);
ImageButton ib = (ImageButton) view.findViewById(R.id.imageButton);
ib.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(mContext,"Button1 pressed",Toast.LENGTH_LONG).show();
}
});
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent mIntent = new Intent(mContext, MangaView.class);
mIntent.putExtra("capitulo", chap);
mContext.startActivity(mIntent);
}
});
ImageButton ib2 = (ImageButton) view.findViewById(R.id.imageButton2);
ib2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(mContext,"Button2 pressed",Toast.LENGTH_LONG).show();
}
});
tv.setText(mItems.get(i).getCapitulo());
return view;
}
Вы установите onItemClickListener на эти кнопки? – dasjkdj
Нет, когда это был просто TextView, он действительно сработал, но теперь он не распознает события касаний –
aima ponerle un click listenener los imagebutton. Dices que ahora no reacciona al pulsar ningun objeto de la lista? – dasjkdj