2017-09-04 153 views
-3

轉到通過後退按鈕之前的活動當我點擊後退按鈕它去到以前的行動,而不是一次活動如何通過跳過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事件選擇用戶如示於下面的圖片:

enter image description here

用戶選擇屏幕之後是:

enter image description here

當我點擊右上角的後退按鈕再次打開相同的片段,而不是打開前面的活動.. 我已經試過很多方法也沒有找到解決辦法。 請幫助。

enter image description here] 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; 

    } 
+0

的地方,你放棄你的dialogFragment使用此移動用戶的詳細活動時? –

+0

[Android'Back'按鈕動作]的可能重複(https://stackoverflow.com/questions/11342592/android-back-button-action) – GuilhermeFGL

+0

我認爲你應該只調用'finish()'而不是啓動'onOptionsItemSelected'中的新活動以及@ sam_0829表示「解除」。 –

回答

-1

onBackPressed只是檢查這種情況下,你想什麼都做的動作:

@Override 
public void onBackPressed() { 
    if (dialogObj != null && dialogObj.show()) { 
     dialogObj.dismiss(); 
    } else { 
     //this.finish(); 
     super.onBackPressed(); 
    } 
} 
2
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