向自定义工具栏添加后退按钮的最佳方法是什么?

问题描述 投票:0回答:2

因此,我知道如何向我的自定义工具栏添加向后导航按钮,但是,与在每个代码中复制和粘贴此代码相比,必须有一种更有效的方法来将功能添加到多个活动中...

        Toolbar toolbar = findViewById(R.id.tlbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });

我已经尝试过创建一个通用类,如果我创建了一个可以在每个活动中调用的函数,但是您需要findViewById这只能在活动中完成。有什么建议吗?

java android android-studio android-layout android-toolbar
2个回答
1
投票
首先创建这样的基类

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中的继承和多态性


0
投票
在清单上的活动标签中,添加parentactivityname并添加值作为要在按下时进行的活动。这是最适合您的解决方案。
© www.soinside.com 2019 - 2024. All rights reserved.