MenuBar永远不会选择

时间:2017-11-29 13:03:39

标签: android

我正在使用AndroidStudio构建应用程序 我的菜单有问题。

这是我的菜单文件.xml:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:title="@string/action_settings"/>

    <item
        android:id="@+id/action_logout"
        android:orderInCategory="100"
        android:title="Logout"/>
</menu>

这是我可以从预览中看到的:

enter image description here

在我的活动主编中,我有这个代码来创建这个菜单:

 public class MainActivity extends Activity {
    public MyDatabase db;
    public ProgressDialog dialog;
    public String url="";
    private static final Intent SCAN_INTENT = new Intent("com.google.zxing.client.android.SCAN");

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        }

    @SuppressLint("RestrictedApi")
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.care_home, menu);
        if (menu != null) {

        }
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        return super.onOptionsItemSelected(item);
    }   
}

但如果我尝试启动我的应用程序,我可以看到:

enter image description here

如您所见,我无法看到应用程序图标,但我看不到选项菜单。
我怎么能这样做?

4 个答案:

答案 0 :(得分:0)

首先使用AppCompatActivity而不是Activity扩展您的活动,例如:

public class MainActivity extends AppCompatActivity{

然后返回return (super.onCreateOptionsMenu(menu));而不是true,如:

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.care_home, menu);
        if (menu != null) {

        }
        return (super.onCreateOptionsMenu(menu));
    }

答案 1 :(得分:0)

您正在扩展活动,这就是您无法看到工具栏或操作的原因。

public class MainActivity extends Activity {}

改为使用:

public class MainActivity extends AppCompatActivity{

有关更多信息,请阅读有关appBars的android文档: Android Docs

答案 2 :(得分:0)

您可以使用较低版本的Android设备按设备的硬件菜单按钮,它会显示您的菜单。我的建议是至少在上面的果冻豆上进行测试。

答案 3 :(得分:0)

扩展 AppCompatActivity 而非活动。并创建如下菜单:

 public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.care_home, menu);
    return return super.onCreateOptionsMenu(menu);;
}

和care_home.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
    android:id="@+id/action_settings"
    android:orderInCategory="100"
    android:title="@string/action_settings"
    app:showAsAction="always" />

<item
    android:id="@+id/action_logout"
    android:orderInCategory="100"
    android:title="Logout"
    app:showAsAction="always" />

要设置 AppBar ,您可以阅读Here