我正在尝试在我的应用程序中实现浮动上下文菜单。我正在关注谷歌提供的一个例子: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中的一些声明)?
答案 0 :(得分:3)
您将长按一下监听器设置为整个列表视图,您是否真的想设置一个OnItemLongClick来获取列表中项目的长按?
http://developer.android.com/reference/android/widget/AdapterView.OnItemLongClickListener.html