2012-10-02 13 views
14

私はViewPagerFragmentを持っています。 Fragmentのボタンをクリックすると、私はActivityを私の上に立ち上げます。私がActivityにいるときに私の電話の戻るボタンを押すと、私は前の画面、すなわちFragmentの電話番号をViewPagerに戻します。ActionBarの「上」ボタンを電話の「戻る」ボタンのように動作させるにはどうすればよいですか?

私はActionBarとそうするために、中にボタン「UP」、私は次のコードを書いて有効にしたいと思います:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.detail); 

    ActionBar actionBar = getActionBar(); 
    actionBar.setDisplayHomeAsUpEnabled(true); 
} 

今すぐ「アップ」ボタンが表示されますが、それをクリックしても前の画面に戻りません。 "up"ボタンを "back"ボタンと同じものにしたいです。

どうすればいいですか?私は間違って何をしていますか?

ありがとうございました。

+1

あなたは戻るボタンとアップボタンを使用しないでください。アップボタンの目的は、上がって戻ってくることではありません。必要に応じて使用することを検討する必要があります。 http://developer.android.com/guide/topics/ui/actionbar.html#Up –

答えて

48

あなたがアップボタンがクリックされたときにどうすべきかを実装することも必要があります。

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

    return super.onOptionsItemSelected(item); 
} 
+2

これは私が持っていた問題です。私はボタンが自動的に配線されることを期待していたが、クリックすると何も起こらなかった。上のコードでonOptionItemSelected()をオーバーライドした後、それはチャンピオンのように機能しました。ありがとう! – proudgeekdad

関連する問題