Java setContentView(R.layout.activity_main)与getMenuInflater()的对比。充气(R.menu.activity_main,menu)
为什么我必须两次告诉我的活动其布局应该是什么Java setContentView(R.layout.activity_main)与getMenuInflater()的对比。充气(R.menu.activity_main,menu),java,android,inflate,Java,Android,Inflate,为什么我必须两次告诉我的活动其布局应该是什么 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // <-- } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the
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;
}
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);//它们是两个独立的东西。名称告诉你。R.layout.activity_main
是你的布局,R.menu.activity_main
是你的菜单
setContentView()
设置活动的布局。它包括按钮、文本视图等
onCreateOptionsMenu()
它们做两件完全不同的事情。setContentView()
通常是必需的(除非您有一个空的活动
),onCreateOptions菜单()
是可选的,这取决于您是否需要显示更多选项。gen文件夹中的java文件将定义布局、ID和菜单静态类。您将从中获得想法。第一个用于活动窗口,第二个用于选项menutheR.layout
和R.menu
是键。我明白了。通过“menu”你的意思是->?但是,当你创建一个片段时,你确实使用了充气器。为什么?为什么我不能对这些片段也使用setContentView?你在片段中谈论的是getView()
。这是因为片段没有setContentView()
方法。但是请注意,它没有使用getMenuInflater()
,而是一个LayoutInflater
。两者都会膨胀,但LayoutInflater
是用于布局的。好的,我想我知道了。谢谢。我只是在学安卓编程,到目前为止还很混乱。我真的很感激。@user1949554:没问题!如果你能在我的答案之外检查一下空复选标记的话(接受这个答案)我们将不胜感激:)