Android,如何创建上下文菜单...

vis*_*dra 5 android android-menu

在这里我写了一些代码,但没有得到输出..请告诉我为什么不显示上下文菜单,我在哪里做错...?请指导我,提前致谢....

more_tab_menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:id="@+id/feeds"
    android:title="Feeds"/>
<item
    android:id="@+id/friends"
    android:title="Friends"/>
<item
    android:id="@+id/about"
    android:title="About"/>
</menu>
Run Code Online (Sandbox Code Playgroud)

MenuTest.java

public class MenuTest extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
}

@Override
public void onCreateContextMenu(ContextMenu menu, View v,
        ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);
    MenuInflater inflater =getMenuInflater();
    inflater.inflate(R.menu.more_tab_menu, menu);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
    AdapterContextMenuInfo contextMenuInfo=(AdapterContextMenuInfo)item.getMenuInfo();
    switch(item.getItemId())
    {
    case R.id.feeds:
        break;
    case R.id.friends:
        break;
    case R.id.about:
        break;
    }

    return super.onContextItemSelected(item);
}
}
Run Code Online (Sandbox Code Playgroud)

请告诉我我在哪里做错了??

Sri*_*lla 5

现在你有这个:

super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater =getMenuInflater();
inflater.inflate(R.menu.more_tab_menu, menu);
Run Code Online (Sandbox Code Playgroud)

把它改成这个:

MenuInflater inflater =getMenuInflater();
inflater.inflate(R.menu.more_tab_menu, menu);
return true;
Run Code Online (Sandbox Code Playgroud)

也在onOptionsItemSelected中:

return true;
Run Code Online (Sandbox Code Playgroud)

还可以使用onCreateOptionsMenu和onOptionsItemSelected.