2015-01-06 69 views
6

將新的Toolbar與appcompat支持庫一起使用時,在我看來主頁按鈕不像以前那樣工作,除非您設置了有效的選項菜單。一個簡單的和沼澤標準活動:如果沒有選項菜單,工具欄主頁按鈕不起作用

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); 
    } 
} 

如果在onCreateOptionsMenu()設置菜單,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); 
} 
}); 

希望它會幫助你..