如何在android中访问Activity中的BaseActivity工具栏
我想访问MyActivity中的工具栏,它扩展了BaseActivity,可以访问MainActivity中的工具栏 基本活动如何在android中访问Activity中的BaseActivity工具栏,android,Android,我想访问MyActivity中的工具栏,它扩展了BaseActivity,可以访问MainActivity中的工具栏 基本活动 public abstract class BaseActivity extends AppCompatActivity{ @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInsta
public abstract class BaseActivity extends AppCompatActivity{
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_container_base);
Toolbar toolBar = (Toolbar) findViewById(R.id.tool_bar);
}
}
我的活动
public class MyActivity extends BaseActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// here i want to access BaseActivity Toolbar
}
在BaseActivity
中将工具栏设置为:
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_container_base);
Toolbar toolBar = (Toolbar) findViewById(R.id.tool_bar);
setSupportActionBar(toolbar);
}
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActionBar actionBar = getSupportActionBar();
}
然后在main活动中的super.onCreate
之后获取工具栏:
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_container_base);
Toolbar toolBar = (Toolbar) findViewById(R.id.tool_bar);
setSupportActionBar(toolbar);
}
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActionBar actionBar = getSupportActionBar();
}
您不能将操作栏
强制转换为工具栏
,但如果确实要访问工具栏,请将其更改为实例变量:
protected Toolbar toolbar;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_container_base);
toolBar = (Toolbar) findViewById(R.id.tool_bar);
// ...
使用protected
修饰符,您可以访问main活动中的toolbar
如何将cast actionBar键入工具栏@阿伦不,你不能。我不建议这样做,但如果您真的想这样做,您可以使用受保护的修饰符将工具栏声明为实例变量。