ListView的上下文菜单

时间:2012-09-10 11:30:07

标签: android

我的应用程序中有一个带有自定义适配器的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

提前致谢!

1 个答案:

答案 0 :(得分:0)

<强>解

在我的BaseAdapter中,我必须这样做:

convertView.setLongClickable(true);