[英]OnItemClickListener override OnItemLongClickListener
[英]How to override OnItemClickListener with OnItemLongClickListener
我在列表視圖的活動中有OnItemClickListener,其中我開始另一個活動,我也有OnItemLongClickListener,其中我基本上要刪除長按行。當我點擊列表視圖OnItemClickListener工作正常,但是當我長時間點擊列表仍然是OnItemClickListener和OnItemLongClickListener.And我不希望OnItemClickListener工作時,我點擊長。 這就是我的代碼的樣子。
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(MainActivity.this, CompleteInformationActivity.class);
intent.putExtra("position", "" + selected.get(position));
startActivity(intent);
}
});
listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(MainActivity.this, "Long click happened.", Toast.LENGTH_SHORT).show();
adapter.notifyDataSetChanged();
final AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("Do you want to delete?");
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "Item is Deleted.", Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "Item is not Deleted.", Toast.LENGTH_SHORT).show();
}
});
AlertDialog dialog = builder.create();
dialog.show();
return false;
}
});
我認為你應該在你的onItemLongClick
方法中返回true
以消耗點擊。 查看Android文檔http://developer.android.com/reference/android/widget/AdapterView.OnItemLongClickListener.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.