Эй, ребята Это мой первый вопрос о stackoverflow. Я ищу по теме почти за 1 месяц, но не нашел ответа.Как установить Listview's Childitem Clicklistener в MainActivity Не в адаптере (в Android)?
Я хочу установить clicklistner в список дочерних элементов в основной деятельности.
Я знаю о Listview.setOnItemClickListner ... и также знаю, как установить дочерний элемент listview в свой собственный адаптер.
Но я не хочу этого ..
Я хочу, чтобы установить дочерний элемент управления ListView, нажав на основной деятельности
это мой основной код активности для элемента списка, нажав ...
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, final int position, final long id) {
final TextView tx;
tx=(TextView)view.findViewById(R.id.textList);
tx.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(listviewclick_Activity.this, "in= "+String.valueOf(position), Toast.LENGTH_SHORT).show(); // clicking for textview on list
}
});
view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(listviewclick_Activity.this,"out= "+ String.valueOf(position), Toast.LENGTH_SHORT).show(); // clicking for whole listitem
}
});
}
});
Этот код работает нормально, но у него есть проблема, которую пользователь должен нажать первое время после этого все щелчок будет установлен ...
Помните, что я не хочу щелкать дочерний элемент в адаптере. я хочу только щелкнуть его в основном действии. Надеясь на хороший ответ ...
Вы установили прослушиватель кликов внутри прослушивателя кликов, так что вы ожидали? Вам ** необходимо ** установить событие click в методе getView адаптера –
Если я установлю clicklistener в методе getview адаптера, то я не смогу выполнить некоторые задачи, например, если я хочу обновить список и снова вызвать json нажав на дочерний элемент, тогда я не могу сделать это в методе getload Adapter. –
@rajatkathuriya, на самом деле вы можете !, просто создать интерфейс [интерфейс обратного вызова содержит некоторый метод для реализации] и передать ссылку. от этого к вашему адаптеру, а затем после нажатия на то, что вы хотите щелкнуть, вызовите этот метод обратного вызова, который должен быть реализован в MainActivity. –