Я хочу иметь поведение x, когда я нажимаю элемент и поведение y, когда я нажимаю и удерживаю один и тот же элемент. Кажется, я могу сделать то или другое, но не то, и другое.Android ListView setOnItemLongClickListener работает, но setOnItemClickListener не
Итак, у меня есть это Listview lv
. В onCreate
я даю это
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Log.v(TAG, "click position: " + position);
}
});
И когда я нажимаю любую деталь в моем ListView я получаю журнал.
Скажем, я удаляю setOnItemClickListener
. И теперь я добавляю:
lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView<?> parent, View view,int position, long id) {
Log.v(TAG, "long click position: " + position);
return true;
}
});
Когда я делаю длинный щелчок (нажмите и удерживайте в течение 3 секунд), я получаю журнал. Ура.
Но, если я попытаюсь использовать оба вместе, то setOnItemLongClickListener
затмевает setOnItemClickListener
. onItemClick
никогда не вызывается, и только когда я делаю длинный щелчок, я получаю строку в журнале.
XML-держит элементы в ListView имеет как:
android:longClickable="true"
android:clickable="true"
Что фундаментальное понятие о том, что я пытаюсь сделать, я получил не так?
Вы установили какой-либо прослушиватель кликов в вашем адаптере? Или у вас есть кнопка или флажок в элементе списка? Можете ли вы опубликовать свой XML-код и код адаптера элемента списка? –
Адаптер, который я использую, не имеет слушателей. В элементе списка есть только 2 TextView. – hazyred
Код отлично работает здесь, может быть, это проблема в ваших текстовых комментариях, возможно, они запрашивают фокус или что-то, что предотвращает события onClick – SaNtoRiaN