gpt4 book ai didi

java - 如何覆盖父类的方法

转载 作者:行者123 更新时间:2023-11-29 07:30:56 25 4
gpt4 key购买 nike

我正在开发一个 Android 项目,我正在尝试覆盖父类中的一个方法。我仍然希望该方法能够正常工作,唯一的问题是我需要再添加一行。这是我的 BaseFragment 中的方法:

protected void setUpToolBar(String title, boolean home){
Toolbar toolbar = (Toolbar)getView().findViewById(R.id.toolbar);
if (toolbar != null){

toolbar.setTitle(title);

if(home){
toolbar.setNavigationIcon(R.drawable.arrow_left);
}


toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
return false;
}
});

toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

}
});

((AppCompatActivity)getActivity()).setSupportActionBar(toolbar);
}
}

当我从我的 FeedFragment(从 BaseFragment 扩展)调用并添加此行时,我想让所有的东西都正常工作:

toolbar.inflateMenu(R.menu.menu_main);

我需要它,因为 FeedFragment 上的菜单与 PostFragment 上的不同,并且两个 fragment 都继承自 BaseFragment。

我想我应该这样做:

@Override
private void setUpToolBar(){
toolbar.inflateMenu();
}

虽然它不起作用。对此有什么想法吗?

obs:这个问题被标记为可能重复,但另一个问题非常理论化,我认为它不会帮助我弄清楚如何解决我的问题。所选答案一针见血。

最佳答案

你应该覆盖完全相同的方法签名

@override
protected void setUpToolBar(String title, boolean home){
super.setUpToolBar(title,home);
toolbar.inflateMenu();
}

关于java - 如何覆盖父类的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42763076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com