我的应用程序中有一个带有自定义适配器的ListView
。我想添加ContextMenu
来删除此ListView
在我的onCreate
方法中,我注册了Context Menu
:
registerForContextMenu(lastCases);
其中参数是我的ListView
这应该调用这个方法:
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
Log.i("onCreateContextMenu: ", "Inside");
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.stock_file_menu, menu);
}
正如您所看到的,无论何时调用此方法,我都会使用Logger来记录信息。但它不会向LogCat
输出任何内容,这表示此方法永远不会被触发。
另外我应该提到我的ListView
充满了这种方法的信息:
private void RefreshCaseList() {
lastTenCases = db.getAllCases(10);
if (lastTenCases.size() > 0)
error.setText("");
lastCases.setAdapter(new CustomAdapter(myClass.this, lastTenCases));
}
此方法从数据库中获取某些对象,并使用这些对象填充ListView
,但在context menu
中注册OnCreate
之前调用此方法。
没有错误发生,所以我没有任何可以帮助我的信息。有谁知道如何使用自定义适配器为Context Menu
制作ListView
?
提前致谢!
答案 0 :(得分:0)
<强>解强>
在我的BaseAdapter中,我必须这样做:
convertView.setLongClickable(true);