0

アプリケーションに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);
}

ご覧のとおり、このメソッドが呼び出されるたびに、ロガーを使用して情報をログに記録します。ただし、には何も出力されませんLogCat。これは、このメソッドが実行されないことを示しています。

また、私ListViewはこのメソッドからの情報で満たされていることにも言及する必要があります。

private void RefreshCaseList() {

    lastTenCases = db.getAllCases(10);
    if (lastTenCases.size() > 0)
        error.setText("");

    lastCases.setAdapter(new CustomAdapter(myClass.this, lastTenCases));

}

このメソッドは、データベースからいくつかのオブジェクトを取得しListView、これらのオブジェクトで埋めますが、このメソッドは、に登録する前に呼び出さcontext menuOnCreateます。

エラーは発生しないので、私に役立つ情報はこれ以上ありません。カスタマイズされたアダプターを使用してContext Menuのを作成する方法を知っている人はいますか?ListView

前もって感謝します!

4

1 に答える 1

0

解決

私の BaseAdapter では、これを行う必要がありました。

convertView.setLongClickable(true);
于 2012-09-10T11:59:30.660 に答える