在我的主要活动中,我有我的操作栏。即使我发起新活动,这怎么能保持可见?
新活动是否必须扩展我的主要活动以实现此目的?
答案 0 :(得分:6)
如果您声明onCreateOptionMenu
方法,即将元素放在操作栏中的方法,在主活动(A)中,所有其他扩展A而不重新声明该方法的活动将具有A的相同动作栏。
答案 1 :(得分:4)
Android菜单选项为用户提供操作和其他选项,以便从屏幕的操作栏中进行选择。其中一些操作对于您的应用程序的所有活动都是通用的,因此您可以创建一个扩展Activity类并执行所有菜单处理的BaseActivity,而不是在每个活动中创建它们。然后,您可以在应用程序活动中扩展基本活动类,以获得相同的菜单选项。
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends BaseActivity implements OnClickListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button nextActivity = (Button) findViewById(R.id.nextActivity);
nextActivity.setOnClickListener(this);
}
}
这是BaseActivity Class
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
public class BaseActivity extends Activity{
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.common_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Do Code Here
default:
return super.onOptionsItemSelected(item);
}
}
}
我希望它可以帮到你。
答案 2 :(得分:0)
您可以使用我在此描述的相同实现模式(继承/组合)
Global "search function" in whole app
搜索功能。只需使用 onCreateOptionMenu 方法执行我所描述的操作,即可为所有活动设置相同的内容,而无需在每个活动中编写相同无聊的三行代码。