我的menu_main.xml没有显示在我的main_activity上

时间:2016-07-15 04:47:31

标签: java android xml

我只是Android编程的新手,我正在从教程构建一个新的应用程序。 我已经制作了像这样的主菜单

<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="id.go.kemenkeu.itjen_kemenkeu.MainActivity">
<item
    android:id="@+id/action_settings"
    android:orderInCategory="100"
    app:showAsAction="never"
    android:title="Settings" />
<item
    android:id="@+id/navigate"
    android:title="@string/next"
    android:orderInCategory="200"
    app:showAsAction="always"
    android:icon="@drawable/ic_next"/> </menu>

和MainActivity.Java一样

public class MainActivity extends AppCompatActivity {

    private Toolbar toolbar;

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

        toolbar= (Toolbar) findViewById(R.id.app_bar);
        setSupportActionBar(toolbar);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id=item.getItemId();
        if(id==R.id.action_settings){
            Toast.makeText(this,"Hi, Anda Baru Saja Menekan"+item.getTitle(),Toast.LENGTH_SHORT).show();
            return true;
        }
        if(id==R.id.navigate){
            startActivity(new Intent(this, SubActivity.class));
        }
        return super.onOptionsItemSelected(item);
    } }

我在MainActivity.Java中调用了+ id /导航,但是当我在模拟器中运行时,+ id / navigate中的样式没有显示。这有什么不对?

4 个答案:

答案 0 :(得分:1)

您必须覆盖createoptionmenu才能在工具栏中初始化您自己的菜单。 尝试在您的活动中添加此内容:

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

答案 1 :(得分:0)

没有onCreateOptionsMenu您无法显示menu。所以将onCreateOptionsMenu添加到您的Activity类,例如,

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu_main, menu);
    return true;
}

快乐编码!!!

答案 2 :(得分:0)

您必须为选项菜单充气 添加此行。

getMenuInflater().inflate(R.menu.main, menu);

答案 3 :(得分:-1)

您必须覆盖onCreateOptionsMenu中的Activity并夸大菜单并进行检查 您需要在Developer Site

中查看更多详细信息