2

私は自分のアクティビティでアンドロイドリストビューを使用しています...

リストから選択したアイテムの名前を取得する必要があります...

これがメニュー作成用の私のコードです

public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {
       super.onCreateContextMenu(menu, v, menuInfo);         


     MenuInflater inflater = getMenuInflater();
     inflater.inflate(R.menu.activity_main, menu); //select layout which should pop up in context menu

     menu.add("Delete");
     menu.add("Rename");

}

私が必要としているのは、コンテキストメニューのクリックをキャプチャする次の関数で、リストビューで選択されたアイテムの名前を取得する方法です。

@Override
public boolean onContextItemSelected(MenuItem item) 
{

     super.onContextItemSelected(item);


    if(item.getTitle()=="Delete"){
       //slected item's name in string varible here??
    }
    if(item.getTitle()=="Rename"){
            //slected item's name in string varible here??
    }
    return true;

}
4

2 に答える 2

6

itemId を取得するには、次を使用します。

AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();

アイテムのIDを取得できます

info.id

名前を受け取りたい場合は、 to を使用しinfo.positionてリスト内のアイテムの位置を取得することもできます。位置を使用すると、listView からアイテムを取得して、アイテムの名前を取得できます。

于 2013-02-09T16:39:08.297 に答える
1

public boolean onContextItemSelected(MenuItem item) { AdapterView.AdapterContextMenuInfo itemInfo = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo(); int itemId = itemInfo.position; // ロジックを実装します

    if (item.getTitle()=="Add") {
        Toast.makeText(this, "Item id [" + itemId + "]", Toast.LENGTH_SHORT).show();


    }
    return true;

}
于 2015-07-21T08:23:35.600 に答える