android: onListItemClick 在发生 onItemLongClick 时不会触发

标签 android

已实现 OnItemLongClickListener。当 LongClicked 列表项时,我启用相关列表项的按钮。 LongClicked 按钮成功启用后,但不会触发 onListItemClick。如果我在没有 LongClicked 的情况下使用 onListItemClick,它会成功触发。如果在此之前触发了 LongClicked,为什么 onListItemClick 不会触发?

    OnItemLongClickListener listener =  new OnItemLongClickListener(){
        public boolean onItemLongClick(AdapterView<?> av, View v, int position, long id) {
            Account a = null;
            a = (Account) av.getItemAtPosition(position);               
            Toast.makeText(AccountActivity.this, "Long Clicked : " + a.getAccountName(), Toast.LENGTH_LONG).show();
            v.findViewById(R.id.btn_delete).setVisibility(View.VISIBLE);
            return false;
        }
    };
    getListView().setOnItemLongClickListener(listener);


  public void onListItemClick(ListView l, View v, int position, long id) {
    // Do something when a list item is clicked
    Account a = null;
    a = (Account) l.getItemAtPosition(position);
    Toast.makeText(AccountActivity.this, a.getAccountName(), Toast.LENGTH_SHORT).show();
  }

最佳答案

尝试像下面这样实现,

setOnItemLongClickListener

setOnItemClickListener

getListView().setOnItemLongClickListener(new OnItemLongClickListener() {
    public boolean onItemLongClick(AdapterView<?> arg0, View arg1,int arg2, long arg3) {
        Account a = null;
        a = (Account) av.getItemAtPosition(position);               
        Toast.makeText(AccountActivity.this, "Long Clicked : " + a.getAccountName(), Toast.LENGTH_LONG).show();
         v.findViewById(R.id.btn_delete).setVisibility(View.VISIBLE);                   

        return false;
   }
});



getListView().setOnItemClickListener(new OnItemClickListener() {
   public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
     Account a = null;
     a = (Account) l.getItemAtPosition(position);
     Toast.makeText(AccountActivity.this, a.getAccountName(), Toast.LENGTH_SHORT).show();  
   };
});

关于android: onListItemClick 在发生 onItemLongClick 时不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13762761/

相关文章:

android - 模拟器中 2 个 Android 设备之间的彩信

android - Activity 重新启动时关闭对话框

android - 从 Android 的 LocationManager 请求 getLastKnownLocation 时的空指针

android - 同时使用 Retrofits 1.9.0 和 2.0.0 版本

android - 如何在单个 recyclerView 中设置两个不同的适配器?

Android 注册 GTalk 传入聊天

android - 在运行测试之前设置首选项状态

javascript - NestedScrollView 开始位置错误,布局较大

android - 用安卓打印

android - 在 BOOT_COMPLETED 上安排任务