2017-03-08 41 views
0

我使用工具欄中的活動是這樣的:安卓:使用工具欄與homeAsUpButton並調用的onCreate代替的onResume

Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar); 
     setSupportActionBar(myToolbar); 
     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

而這種代碼AppCombatActivity:

@Override 
public boolean onSupportNavigateUp() { 
    onBackPressed(); 
    return true; 
} 

清單中,我定義父活動。

它的工作原理。但每次按下'onCreate'按鈕都會在父活動上調用。但那不是我想要的。當我按下設備上的後退按鈕時,它會返回上一個活動,並只調用onResume。這是我按下工具欄中的後退按鈕時應該做的事情。

任何想法? 謝謝!

+0

如果以前沒有創建父活動,或者用'finish();'關閉它當然會調用'onCreate()'。 – Klevi01

回答

0

添加這對您的要求...

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    return super.onCreateOptionsMenu(menu); 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case android.R.id.home: 
      //Start activity which you want... to call onCreateMethod 
      return true; 

     default: 
      return super.onOptionsItemSelected(item); 
    } 
} 
+0

謝謝。這不適合我。但是指出我的方向是正確的解決方案是:在此時實現'onBackPressed();'。 –

0

此代碼的工作對我來說:

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    return super.onCreateOptionsMenu(menu); 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case android.R.id.home: 
      **onBackPressed();** 
      return true; 

     default: 
      return super.onOptionsItemSelected(item); 
    } 
} 
相關問題