如何通过跳过DialogFragment
问题描述:
转到通过后退按钮之前的活动当我点击后退按钮它去到以前的行动,而不是一次活动如何通过跳过DialogFragment
是什么想做的事就是这样:1.Activity下一步 - > 2.Activity2 next-> 3.DialogFragment(从DialogFragment中选择用户)next-> Activity2(with selected user)backPressed-> Activity。
什么我在是: 1.Activity下一步 - > 2.Activity2下一步 - > 3.DialogFragment(选择DialogFragment用户)下一步 - >活性2(与选择的用户)backPressed-> 5.DialogFragment backPressed - >活动
方案是: 当我打开此活性与从dialogFragment从onClick事件选择用户如示于下面的图片:
用户选择屏幕之后是:
当我点击右上角的后退按钮再次打开相同的片段,而不是打开前面的活动.. 我已经试过很多方法也没有找到解决办法。 请帮助。
] 3
我的代码:
//
Back button in toolbar
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
toolbar.setTitleTextColor(getResources().getColor(R.color.o2htextOne));
getSupportActionBar().setDisplayShowTitleEnabled(false);
final Drawable upArrow = getResources().getDrawable(R.drawable.back_arrow);
upArrow.setColorFilter(getResources().getColor(R.color.o2htextOne), PorterDuff.Mode.SRC_ATOP);
getSupportActionBar().setHomeAsUpIndicator(upArrow);
{
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Intent intent=new Intent();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId()==android.R.id.home)
{
finish();
}
return true;
}
答
在onBackPressed
只是检查这种情况下,你想什么都做的动作:
@Override
public void onBackPressed() {
if (dialogObj != null && dialogObj.show()) {
dialogObj.dismiss();
} else {
//this.finish();
super.onBackPressed();
}
}
答
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
upArrow.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ActivityCompat.finishAfterTransition(AgentCreateIntimation.this);
}
});
尝试在
{
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Intent intent = new Intent();
}
+0
我已经尝试过,但没有任何区别。 – Axay
的地方,你放弃你的dialogFragment使用此移动用户的详细活动时? –
[Android'Back'按钮动作]的可能重复(https://stackoverflow.com/questions/11342592/android-back-button-action) – GuilhermeFGL
我认为你应该只调用'finish()'而不是启动'onOptionsItemSelected'中的新活动以及@ sam_0829表示“解除”。 –