我有一个navigation drawer activity
和fragments
,我将把每个fragment
发送到activity
。如果我选择菜单的选项3是fragment
,将我发送到activity
时遇到问题,但是当我使用“后退”按钮返回时,它会将我发送到选项1,我将我要返回选项3。
我该如何更改?
我尝试通过parentActivity
来完成此操作,但没有成功
谢谢。
我的navigation drawer activity
和fragments
当我单击按钮时,它会将我发送到activity
在activity
中,我有一个toolbar
要返回,我要返回的是选项3而不是1。
我需要在代码中做什么或可以放置什么?
我的片段代码选项3
public class Mis_Aliados extends Fragment {
Button boton;
public Mis_Aliados() { }
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.persona_mi_perfil, container, false);
boton=view.findViewById(R.id.buton);
boton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(), ActividadEx.class);
startActivity(intent);
}
});
return view;
}
}
我的activity
代码
public class ActividadEx extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pruebaactividad);
Toolbar toolbarback=findViewById(R.id.include);
setSupportActionBar(toolbarback);
getSupportActionBar().setTitle("Activity");
ActionBar actionBar=getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
}
}
答案 0 :(得分:0)
在您的ActividadEx
中添加此方法以处理工具栏的后退按钮按下
我要额外添加1个意图,以确保您要在返回导航抽屉“活动”时打开选项3
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Intent intent = new Intent(this, NavgationDrawerActivity.class);
intent.putExtra("openOption3", true);
startActivity(intent);
}
return super.onOptionsItemSelected(item);
}
在onCreate()内的NavigationDrawerActivty上
您可以检查Bundle是否有数据。如果其为空,则可以打开Option1片段。
如果有数据,请检查。并打开Option3片段。
Bundle bundle = getIntent().getExtras();
if (bundle != null) {
if (bundle.getBoolean("openOption3", false)) {
//Use Fragment Transaction to Open Option 3 Fragment
} else {
//Open Option 1 Fragment Or any other Fragment
}
} else {
//Open Option 1 Fragment Or any other Fragment
}
如有任何疑问,请随时发表评论。