我只是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中的样式没有显示。这有什么不对?
答案 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