在Android ListView的onItemClick和onItemLongClick事件之间切换

时间:2013-10-23 08:10:16

标签: android android-listview onitemclicklistener

我想问一下如何切换并在列表视图下只选择一个事件。我的代码正在运行。但是当OnItemLongClick触发时,OnItemClick也会触发。如何在仅检测到一个事件的情况下切换事件:

lstResult.setOnItemClickListener(new OnItemClickListener()
        {
            @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int position,
                    long arg3) {
                // TODO Auto-generated method stub

                //showToast(arg0.getItemIdAtPosition(position) +  "");
                 String str = searchWhere(lstResult.getItemAtPosition(position) + "");
                 String word = lstResult.getItemAtPosition(position).toString();
                 showDialog(word,str);
            }

        });
        lstResult.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {

            @Override
            public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
                // TODO Auto-generated method stub
                showToast(lstResult.getItemAtPosition(position) + "");
                return false;
            }

        });

3 个答案:

答案 0 :(得分:27)

在OnItemLongClick结束时返回布尔值true。

答案 1 :(得分:8)

根据OnItemLongClickListener的documentation

  

返回   如果回调消耗了长按,则返回true,否则返回false

如果长时间点击,您应该返回true

答案 2 :(得分:1)

当您在OnItemLongClickListener上返回false时,这不会触发,因此您可以定义一个布尔变量以在您的监听器之间切换