2015-01-06 15 views
6

新しいToolbarをappcompatサポートライブラリで使用すると、有効なオプションメニューを設定しない限り、以前と同じようにホームボタンが動作しないようです。シンプルかつ湿原標準アクティビティ:onCreateOptionsMenu()に設定されたメニューがある場合はオプションメニューがない場合、ツールバーのホームボタンが機能しない

public class MyActivity extends ActionBarActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.some_page); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    ActionBar bar = getSupportActionBar(); 
    bar.setHomeButtonEnabled(true); 
    bar.setDisplayHomeAsUpEnabled(true); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
    // getMenuInflater().inflate(R.menu.some_menu, menu); 
    return super.onCreateOptionsMenu(menu); 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case android.R.id.home: 
     onBackPressed() or finish() or whatever(); 
     break; 
    } 
    return super.onOptionsItemSelected(item); 
    } 
} 

は、onOptionsItemSelected()android.R.id.homeで、すべての権利を呼ばれると、すべての罰金です。ただし、onCreateOptionsMenu()がまったく存在しない場合(または空の場合、trueを返すか、super関数を呼び出す)、onOptionsItemSelected()はまったく呼び出されないため、[ホーム]ボタンのクリックをキャッチする機会はありません。私もonCreateOptionsMenu()に空のメニューを渡そうとしましたが、助けにはなりませんでした。

機能オプションメニューが不要なページに[ホーム]ボタンが表示されるようにする回避策がありますか?

+0

私は今、これを見つけた私はJBが、KKに*ない*だから、それは最初に私の注意を滑っ: http://stackoverflow.com/questions/26859841/homeasup-button-has-no-effect-in-android-4-2-2-with-appcompat-21-0-0?rq=1 –

答えて

0

あなたはこれを試すことができます。..

toolbar.setNavigationOnClickListener(new OnClickListener() { 
@Override 
public void onClick(View v) { 
Intent intent =new Intent(Context,<Destination activity); 
startActivity(intent); 
} 
}); 

それはあなたを助けることを願っています。..

関連する問題