1

Androidマーケットで入手できる「Diaro」と「my Diary」アプリを見ていました。アイテムはリスト ビューに表示され、アイテムを長押しすると、さまざまなオプション (編集、削除など) を含むコンテキスト メニューが開きます。私は自分のアプリに同じものを実装しようとしましたが、これは似たようなものです。しかし、問題は、onContextItemSelected(MenuItem item)クリックしたアイテムの内容を取得できないことです。のコードは次のonContextItemSelected(MenuItem item)とおりです。

@Override
public boolean onContextItemSelected(MenuItem item) {
    // TODO Auto-generated method stub
    AdapterContextMenuInfo info = (AdapterContextMenuInfo) item
            .getMenuInfo();
    switch (item.getItemId()) {
    case R.id.edit:


        break;v

          // rest of the codetion
    }

    return super.onContextItemSelected(item);
}

この関数からリストビューでクリックされたアイテムのIDを取得するにはどうすればよいですか? 私は本当にここでいくつかの助けを使うことができます:)

4

2 に答える 2

3

次のように、contextMenu に yourView を登録する必要があります。

list = getListView();
registerForContextMenu(list);

ビルドするには onCreateContextMenu を使用する必要があります

@Override
public void onCreateContextMenu(ContextMenu contextMenu,
                                View v,
                                ContextMenu.ContextMenuInfo menuInfo) {
    AdapterView.AdapterContextMenuInfo info =
            (AdapterView.AdapterContextMenuInfo) menuInfo;
    selectedWord = ((TextView) info.targetView).getText().toString();
    selectedWordId = info.id;

    contextMenu.setHeaderTitle(selectedWord);
    contextMenu.add(0, CONTEXT_MENU_EDIT_ITEM, 0, R.string.edit);
    contextMenu.add(0, CONTEXT_MENU_DELETE_ITEM, 1, R.string.delete);
}

contextMenu タイトルに listView アイテムがあり、selectedWordId に id があります

詳細については、このリンクを参照してください: ContextMenu (Android) を生成した (ListView 内の) 選択された項目の検出

于 2012-05-30T18:32:53.083 に答える