因此,我知道如何向我的自定义工具栏添加向后导航按钮,但是,与在每个代码中复制和粘贴此代码相比,必须有一种更有效的方法来将功能添加到多个活动中...
Toolbar toolbar = findViewById(R.id.tlbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
我已经尝试过创建一个通用类,如果我创建了一个可以在每个活动中调用的函数,但是您需要findViewById
这只能在活动中完成。有什么建议吗?
public class BaseActivity extends AppCompatActivity{
public void setToolbar(@IdRes int toolbarID){
try {
Toolbar toolbar = findViewById(toolbarID);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}catch (Exception e){
e.printStackTrace();
}
}
}
在将所有Activity类扩展为BaseActivity类之后
public class LoginNewActivity extends BaseActivity{ @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setToolbar(R.id.toolbar); //You can call your method like this } }
如果您想了解更多有关此内容,请搜索JAVA中的继承和多态性