1

以下のコードを見てください...なぜ私のコンテキストメニューが作成されていないのですか??? これは何が原因でしょうか...?

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

    MenuInflater inflator = getMenuInflater();

    inflator.inflate(R.menu.contextmenudisplayer, menu);
}

@Override
public boolean onContextItemSelected(MenuItem item) {
    switch(item.getItemId())
    {
    case R.id.delete:
        AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();

          String s = (String) ((Cursor) getListView().getItemAtPosition(info.position))
                    .getString(2);
          Log.v("ID is", s);

    default:

    return super.onContextItemSelected(item);
    }
}

コンテキストメニュー表示器からのxmlファイルのコードは次のとおりです contextmenudisplayer.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/delete"
        android:title="Delete Message">
    </item>
    <item
        android:id="@+id/forward"
        android:title="Forward">
    </item>

</menu>
4

1 に答える 1

3

このメソッドでメニューを登録する必要があります: http://developer.android.com/reference/android/app/Activity.html#registerForContextMenu(android.view.View )

このページを読んでください、それはすべてを説明しています: http://developer.android.com/guide/topics/ui/menus.html

于 2012-04-10T10:44:21.030 に答える