2013-04-19 24 views
5

Menüye sahip ve yeni bir etkinlik açıldığında menüde hangi düğmeye bastığınıza bağlı bir uygulama var. Her ekrana bir önceki ekrana geri getirecek bir geri düğmesine sahip olmak istiyorum, bu yüzden bu konuda nasıl bir şeyler yapacağım? İşte Android'de özel geri düğmesi oluşturma

çalışır kullandığım bazı kod şudur: Benim için onun değil uygulama programlama bütün faaliyetlerinde bu kodu koymak Ancak

backButton = (ImageButton) findViewById(R.id.back_button); 
     backButton.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 


       finish(); 

      } 
     }); 

. Görüntülenen tüm sayfaları kaydeden ve bir önceki sayfaya dönmek için kullanarak bir yığın yığını oluşturmaya nasıl giderim?

Uygulamamda bir geri düğmesi kullanmam gerekiyor, böylece ActionBar'da mevcut olanı kullanamıyorum. Sadece bir fikir

+1

zaten iyi programlama pratiği yaptınız. varsayılan davranış gibi. –

cevap

7

Aktivite uzanan bir AnaSınıf oluşturun. Orada, bu Temel Sınıfı genişleten tüm etkinliklerde

. Ve düğmeye her düzende

android:onClick="onClick" 

koymak Ve düğme yeniden kullanılabilir xml tasarımı ayrı bir xml oluşturun yapmak. ve

1

'u kullanarak ekleyin Tüm android cihazlarda bir donanım geri düğmesi vardır ve başka bir şey yapmak için geçersiz kılmadığı sürece kod satırlarınız tam olarak bunu yapar.

Ayrıca this answer'a da bakabilirsiniz.

8

Etkinliğinizde eylem çubuğu kullanmayı denediniz mi? Her etkinlik

ActionBar actionBar = getSupportActionBar(); 
if(actionBar != null){ 
    actionBar.setTitle(getResources().getString(R.string.app_name)); 
    actionBar.setDisplayHomeAsUpEnabled(true); 
    actionBar.setIcon(R.drawable.app_icon); 
} 

kullanmak ve

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

Düğmeye özel bir geri yapmaya karşı öneririm anlaştım. Android'in bir donanım geri düğmesi var. Haberi koruma düğmesine basmak bir öncekine geçecektir.

Özel bir geri düğmesine ihtiyacınız olduğunu düşünmüyorum. Varsayılan davranışı geçersiz kılmak için iyi bir programlama uygulaması olduğunu sanmıyorum.

Etkinliğinizde bir backbutton ve yukarıda yaptığınız gibi işlevselliği gerçekleştiriyorsunuz. Yine de kullanıcı aynı işlevsellik için donanım geri düğmesini kullanabilir. Böylece gereksiz olan aynı işlevselliği sağlıyor olursunuz.