我希望我的MainActivity类更加透明,因此,不要在onCreate方法的MainAcitivty类中,通过以下方式实现工具栏:
Toolbar myToolbar = findViewById(R.id.toolbar);
setSupportActionBar(myToolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
我用一种方法创建了一个新的SetToolbar类:
class SetToolbar extends AppCompatActivity {
void methodToolbar() {
Toolbar myToolbar = findViewById(R.id.toolbar);
setSupportActionBar(myToolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
}
}
然后是我想在onCreate方法的MainActivity类中调用的方法:
SetToolbar test = new SetToolbar();
test.methodToolbar();
有这种可能吗?我不知道该怎么办,因为我没有收到有关该错误的任何信息,但是该应用程序不想打开。
答案 0 :(得分:0)
我不太了解您的意思,但是我想您想避免MainActivity中无用的代码。 您所做的不是很好,最好让MainActivity继承自您不好称的SetToolbar的BaseActivity。
因此,创建您的母亲活动
class BaseActivity extends AppCompatActivity {
protected void methodToolbar() {
Toolbar myToolbar = findViewById(R.id.toolbar);
setSupportActionBar(myToolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
}
}
还有您的MainActivity
class MainActivity extends BaseActivity
onCreate(){
...
methodToolbar()
...
}
在MainActivity的布局中,您必须添加工具栏布局,甚至创建另一个布局,并通过将该布局添加到所有活动中。 并且不要忘记在清单中声明您的活动。
答案 1 :(得分:0)
我不确定,但是尝试一下,首先,编辑SetToolBar类,使其像这样
class SetToolbar {
Context context;
Toolbar toolbar;
public SetToolbar(Context context, Toolbar toolbar)
{
this.context = context;
this.toolbar = toolbar;
}
void methodToolbar() {
((AppCompatActivity)context).setSupportActionBar(this.toolbar);
((AppCompatActivity)context).getSupportActionBar().setDisplayShowTitleEnabled(false);
}
}
在onCreate()的MainAcivity中
new SetToolbar(getBaseContext(), (Toolbar)findViewById(R.id.my_toolbar)).methodToolbar();