为什么我必须告诉我的活动它的布局应该是两次?
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); // <--
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu); // <--
return true;
}
这两种方法有什么区别?我什么时候应该使用一个,什么时候使用另一个?
答案 0 :(得分:9)
它们是两个不同的东西。这些名字告诉你。 R.layout.activity_main
是您的布局,R.menu.activity_main
适用于菜单。
setContentView()
设置活动的布局。它包括Buttons,TextViews等。
onCreateOptionsMenu()
会显示您看到的菜单,或者它会在Android 3.0 +上填充ActionBar。
他们完成了两件完全不同的事情。通常需要setContentView()
(除非您有空Activity
),onCreateOptionsMenu()
是可选的,具体取决于您是否需要显示更多选项。
答案 1 :(得分:0)