android - 在哪里添加菜单以在所有活动中工作
问题描述
我有一个 menu.xml 和在操作栏中显示菜单的代码。我必须在每个活动中添加代码吗?因为在此之后我使用开关盒来获得点击和更多代码,所以我不认为这是在每个活动中复制粘贴相同代码的正确方法
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
有没有更好的方法可以在所有应用程序(所有活动)中工作?
解决方案
创建一个 BaseActivity 类。
public class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_main, menu);
return true;
}
}
现在所有扩展基本活动的活动都将具有相同的菜单。
推荐阅读
- node.js - ReferenceError: bot 未在 discord bot 中定义
- java - Firebase SDK - 是否会以与触发 setValue 相同的顺序触发 onchildchanged?
- python - 列表python中的相对大小
- ruby-on-rails - Rails 从模型关联排序
- java - NetBeans IDE 中的 JavaCal 中是否已经定义了方法操作事件?
- c - 用于返回引用计数对象的 SAL 注释
- java - 如何在 Java 上定义白名单方法以能够返回白名单的特定“类型”?
- python - 关于熊猫代码的pyspark meandays计算
- regex - 如何从对象数组中投影所有嵌套文档?
- django - 使用 uuid 的唯一令牌正在生成相同的代码