0
我有一個ListView,當我按住(長按)某個項目時,該項目將從列表中刪除。onTouch在LongTouch後立即註冊
它正在註冊一個接觸之後,而長時間的接觸仍在發生。
這裏是我的代碼 -
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Intent intent = new Intent(getApplicationContext(), MapsActivity.class);
intent.putExtra("placeNumber", i);
intent.putExtra("Type", "Fav");
startActivity(intent);
}
});
listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
Log.i("Removing", "" + favouriteLocations.get(position));
favouriteLocations.remove(position);
Favourites.arrayAdapter.notifyDataSetChanged();
return false;
}
});
讓長按一個「虛擬」觸摸在其中長觸摸了(一個新的項目已經在列表中向上移動)的項目出現的進去後和活動加載,就好像它已經被觸摸一樣。
它工作得很好,我確信我沒有更改代碼。有任何想法嗎?
謝謝。
您將OnTouchListener設置爲整個ListView,而不是每個項目,這是您真正想要的嗎?也許會更容易通知OnItemLongClickListener內部的數據更改並刪除OnTouchListener。乾杯! – miibpa
我對所有這些都是陌生的,所以如果我弄錯了,請原諒我,但我只是在那裏放置onTouchListener來檢測觸摸何時停止。我現在意識到任何觸摸現在會延遲一秒,對嗎?我現在編輯它。 – AndyCr15