三星Galaxy Tablet 3上的onCreateOptionsMenu(GT-P5200)

时间:2015-02-24 09:49:08

标签: android

因为这是我关于stackoverflow的第一个问题,我有点紧张,希望我没有做错任何事(至少我使用了搜索功能)。

我在使用以下代码(简化)开发Android应用程序时遇到问题:

public class MainActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);
}

public boolean onCreateOptionsMenu(Menu menu) {

    MenuItem test1 = menu.add(0, 1, 0, "test1");
    MenuItemCompat.setShowAsAction(test1, MenuItemCompat.SHOW_AS_ACTION_ALWAYS);

    MenuItem test2 = menu.add(0, 2, 0, "test2");
    MenuItemCompat.setShowAsAction(test2, MenuItemCompat.SHOW_AS_ACTION_NEVER);

    MenuItem test3 = menu.add(0, 3, 0, "test3");
    MenuItemCompat.setShowAsAction(test3, MenuItemCompat.SHOW_AS_ACTION_NEVER);

    MenuItem test4 = menu.add(0, 4, 0, "test4");
    MenuItemCompat.setShowAsAction(test4, MenuItemCompat.SHOW_AS_ACTION_NEVER);

    MenuItem test5 = menu.add(0, 5, 0, "test5");
    MenuItemCompat.setShowAsAction(test5, MenuItemCompat.SHOW_AS_ACTION_NEVER);

    return super.onCreateOptionsMenu(menu);

}

@Override
public boolean onOptionsItemSelected(MenuItem item) {

    switch (item.getItemId()) {
        case 1:
            Toast.makeText(this, "1", Toast.LENGTH_SHORT).show();
            return true;
        case 2:
            Toast.makeText(this, "2", Toast.LENGTH_SHORT).show();
            return true;
        case 3:
            Toast.makeText(this, "3", Toast.LENGTH_SHORT).show();
            return true;
        case 4:
            Toast.makeText(this, "4", Toast.LENGTH_SHORT).show();
            return true;
        case 5:
            Toast.makeText(this, "5", Toast.LENGTH_SHORT).show();
            return true;


        default:
            return super.onOptionsItemSelected(item);
    }
}


}

这在我的所有测试设备上都能正常运行,其中包括Android 2.6.3,4.1.x,4.2.x,4.4,5.0

只有一个设备出现问题:

  • Galaxy Tab 3(10.1)
    GT-P5200 / Android 4.2.2

如果按下硬件菜单按钮,则不会打开任何选项菜单。什么都没发生。

我正在使用

  • android studio
  • 支持库版本21.0.3
  • minSdkVersion 8
  • targetSdkVersion 21

但奇怪的是它适用于其他设备(例如Galaxy Note 8.0,GT-N5100,Android 4.2.2)

有人可以在您的设备上测试上面的代码吗? 有人有解决方法吗?

~~编辑:~~

我尝试了以下代码,但溢出菜单也没有打开: - (

 Button btnOpenMenu = (Button) findViewById(R.id.button);

    btnOpenMenu.setOnClickListener( new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            MainActivity.this.openOptionsMenu();

        }
    });

我认为它必须是最新支持库v7版本21.0.x中的错误

但是为什么只能在三星Galaxy Tablet 3上使用?

非常感谢

-Gra

0 个答案:

没有答案