我在片段A中有3个按钮,“开始”,“完成”和“转到其他片段”。当我单击“开始”按钮时,我想隐藏后退按钮,而当我单击“完成”时,我想要后退按钮出现。
这就是我隐藏后退按钮的方式
@Override
public void onClick(View v) {
((BaseActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(false);
}
当我单击“开始”按钮时它正在工作,但是当我转到其他片段并返回片段A时,将显示“后退”按钮。我试图将后退按钮隐藏在onResume
,onStart
和onCreateView
中,但是它不起作用。
这是我的第一个片段,然后转到片段A
@Override
public void onClick(View v) {
getFragmentManager().beginTransaction().replace(R.id.content, AFragment.newInstance(),
AFragment.TAG)
.addToBackStack(A.TAG)
.commit();
}
这在片段A中
public static AFragment newInstance() {
AFragment fragment = new AFragment();
return fragment;
}
@OnClick(R.id.btn)
public void goToOtherFragment(){
getFragmentManager().beginTransaction().replace(R.id.content,
OtherFragment.newInstance(), OtherFragment.TAG)
.addToBackStack(OtherFragment.TAG)
.commit();
}
,然后从OtherFragment
中按返回按钮转到AFragment
答案 0 :(得分:0)
如果您打开FragmentA到FragmentB,则必须在 FragmentB
中使用@Override
方法
@Override
public void onDestroyView() {
super.onDestroyView();
((BaseActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(false);
}
答案 1 :(得分:0)
您好,只需将呼叫片段B的片段代码替换为以下代码,它将起作用
public static AFragment newInstance() {
AFragment fragment = new AFragment();
return fragment;
}
@OnClick(R.id.btn)
public void goToOtherFragment(){
getFragmentManager().beginTransaction().add(R.id.content, fragment)
.addToBackStack(OtherFragment.TAG).commit();
}