onLongClick()不会在长按操作上调用

时间:2013-01-02 21:52:41

标签: android floating onlongclicklistener android-contextmenu

我正在尝试在我的应用程序中实现浮动上下文菜单。我正在关注谷歌提供的一个例子:http://developer.android.com/guide/topics/ui/menus.html,但是在这段代码的开头就卡住了:

@Override
 protected void onCreate(Bundle savedInstanceState){
     super.onCreate(savedInstanceState);

new AsyncTaskOne(this).execute();

     getListView().setOnLongClickListener(new View.OnLongClickListener() {
            // Called when the user long-clicks on someView

            public boolean onLongClick(View view) {
                Log.v("OnLongClick", "clicked");    // It doesn't log anything on a long click event.
                if (mActionMode != null) {
                    return false;
                }

                // Start the CAB using the ActionMode.Callback defined above
                mActionMode = actiV().startActionMode(mActionModeCallback);
                view.setSelected(true);
                return true;
            }
        });

 }

我已将Log检查放入onLongClick(View view)方法,以确定它是否实际被调用。当我从ListView中长按某个项目时没有任何反应(我的Log.v没有记录任何内容)。我想知道教程可能缺少某些东西(layout.xml中的一些声明)?

1 个答案:

答案 0 :(得分:3)

您将长按一下监听器设置为整个列表视图,您是否真的想设置一个OnItemLongClick来获取列表中项目的长按?

http://developer.android.com/reference/android/widget/AdapterView.OnItemLongClickListener.html