2017-02-07 3 views
3

1つのアクティビティに戻るボタンがあり、親アクティビティに戻るためにタップすると、親アクティビティがリセットされます。 onCreate()が再び呼び出されているようです。あなたは[戻る]ボタンをタップしたときに、それはちょうど私は現在、中だアクティビティを存在するfinish()を呼び出すためつまり、なぜ私はわからないなぜ戻るボタンをタップすると、私の活動がリセットされますか?

ここで私は、ツールバー宣言してる方法です:。

super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_add_item); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.my_toolbar); 
    setSupportActionBar(toolbar); 

    if(getSupportActionBar() != null) 
    { 
     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
     getSupportActionBar().setDisplayShowHomeEnabled(true); 
    } 

これは、ボタンをタップしたときに何が起こるかです:

public boolean onOptionsItemSelected(MenuItem item) 
{ 
    if (item.getItemId()==android.R.id.home) 
    { 
     finish(); 
    } 
    return super.onOptionsItemSelected(item); 
} 

奇妙な、これは私が保存ボタンを押したときに、私はどのリセットせずに親アクティビティに戻るということです。だから私はなぜこれが起こっているのか分からない。

+0

親アクティビティに戻るときにヒープをチェックしましたか? –

答えて

1

trueを返す必要があります。そうでなければ、常にonCreat()メソッドが呼び出されます。また、「空の」インテントを作成して、それをtrueに戻すアクティビティーで処理しないでください。

@Override 
public boolean onOptionsItemSelected(MenuItem item) 
{ 
    if (item.getItemId()==android.R.id.home) 
    { 
     Intent intent = new Intent(); 
     setResult(Intent_Constant.TAPPED_BACK_BUTTON, intent); 
     finish(); 
     return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 
関連する問題