2017-02-17 10 views
1

を押したとき、私はアンドロイドのアプリに取り組んでいると最近、私はgetSupportActionBar().setDisplayHomeAsUpEnabled(true)アップ動作を生成しながら、デフォルトのバックボタンonBackPressed()は、バック行動を生成すること。発見までのシミュレートそして、この二つには大きな違いがあります。は、戻るボタンが

私はボタンをハードウェアをバック押すと、それは代わりのバックまでをナビゲートするように私は、アップ動作をシミュレートすることができます場合、私は思っていました。おかげさまで

+0

は、あなたがしようとしたことがあり、コードのですか? – Michael

+0

'NavUtils.navigateUpFromSameTask(this);'は私が見つからなかったものです。ありがとう – vickmwas

答えて

2

これを行うことができます。

@Override 
public void onBackPressed() { 
    NavUtils.navigateUpFromSameTask(this); 
} 
+0

ありがとう。出来た。 'NavUtils.navigateUpFromSameTask(これ);'は私が逃したものです – vickmwas

0

あなたがこの方法のように、あなたの活動には、この

オーバーライドにより

public void onBackPressed(){ 
    // do something here and don't write super.onBackPressed() 
} 

をonBackPressed()メソッドを行うことができますにonKeyDown()メソッド

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    switch(keyCode){ 
    case KeyEvent.KEYCODE_BACK: 
     // do something here 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 

オーバーライドは、それはあなたのお役に立てば幸いです

0

あなたはこの

オーバライドonOptionsItems)は(onBackPressed android.R.id.home Callメソッドのスイッチケースを作成

を選択行うことができます。その中から `;ここ

は` onBackPressed`をオーバーライドして、 `NavUtils.navigateUpFromSameTask(これ)を呼び出す

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

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

あなたの答えは、私が望んでいたものとは逆のことをしているようです。しかし、努力のおかげで – vickmwas