我在ActionBar(Base)类中有我想在我的片段中调用的方法:
public void setOnBackButtonClickListener(OnClickListener onBackButtonClickListener) {
this.onBackButtonClickListener = onBackButtonClickListener;
}
我正在使用ButterKnife,我想在我的片段中调用该方法:
@Bind(R.id.action_bar) ActionBar actionBar;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRetainInstance(true);
actionBar.setOnBackButtonClickListener();
}
如何在我的方法setOnBackButtonClickListener()中传递onClickListener作为参数?
答案 0 :(得分:0)
如果我理解你正确,你想在你点击后退按钮时调用方法!! 你可以使用工具栏而不是actionBar,并在toolbar.setNavigationOnClickListener中调用你的方法 在您的情况下,您正在使用ActionBar,那么您可以告诉Android使用工具栏作为ActionBar,如下所示:
Toolbar toolbar = (Toolbar) findViewById(R.id.mtoolbar);
setSupportActionBar(toolbar);
显示主页按钮
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
。您现在可以在附加到ActionBarActivities的Fragments中使用它,您可以像这样使用它:
((ActionBarActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
((ActionBarActivity) getActivity()).getSupportActionBar().setDisplayShowHomeEnabled(true);
如果您想在工具栏上自定义后退箭头:
mActionBar.setNavigationIcon(getResources().getDrawable(R.drawable.ic_action_back));
现在你可以打电话给你的方法:
mActionBar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//What to do on back clicked
}
});
答案 1 :(得分:0)
我只需要创建OnClickListener的对象,然后将其作为参数传递给setOnBackButtonClickListener方法。