2015-01-06 35 views
6

Yeni Toolbar, uygulama destek kitaplığı ile kullanıldığında, geçerli bir seçenekler menüsü belirlemediğiniz sürece Ana Sayfa düğmesinin çalışmaz hale geldiği görülüyor. Basit ve bataklık standart aktivite: onCreateOptionsMenu() geçen bir menü varsaAraç çubuğu düğmesi, seçenek menüsü bulunmuyorsa çalışmıyor

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 pekâlâ adı verilecek ve tüm gayet iyi. Ancak, onCreateOptionsMenu() (true döndürme veya super işlevini çağırma) yoksa, onOptionsItemSelected() hiç çağrılmayacaktır, bu nedenle Ana Sayfa düğmesindeki tıklamayı yakalama şansı yoktur. Hatta boş bir menüyü onCreateOptionsMenu()'a aktarmaya çalıştım ama yardımcı olmadı.

İşlevsel seçenekler menüsüne ihtiyaç duymayan sayfalarda çalışan bir Home düğmesine sahip olmamızı sağlayan bir geçici çözüm var mı?

+0

şimdi buldum, ilk ben * değil * JB ama KK olduğum için de dikkatimi kaymış: http://stackoverflow.com/questions/26859841/homeasup-button-has-no-effect-in-android-4-2-2-with-appcompat-21-0-0?rq=1 –

cevap

0

Bu deneyebilirsiniz ..

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

o size yardımcı olacaktır Umut ..

İlgili konular