2016-03-27 28 views
4

SettingsActivity numaralı telefon hattım var, MainActivity'a geri bağlayan bir up butonu olmalı. Düğme belirir, ancak tıklandığında hiçbir şey yapmaz. Geri düğmesi iyi çalışıyor. Ayarlar faaliyeti yukarı düğmesi

AndroidManifest.xml

:

<activity 
     android:name=".SettingsActivity" 
     android:label="@string/title_activity_settings" 
     android:parentActivityName=".MainActivity"> 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="com.example.myapp.MainActivity" /> 
</activity> 

hiçbir şans ile R.id.home için onOptionsItemSelected bir eylem ekleyerek çalıştı. Ben de onCreate() için getActionBar().setDisplayHomeAsUpEnabled(true); ekleyerek çalıştı, ancak aşağıdaki hata ile app çöküyor:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myapp/com.example.myapp.SettingsActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.ActionBar.setDisplayHomeAsUpEnabled(boolean)' 
+0

ve denediniz mi? GetSupportActionBar(). SetDisplayHomeAsUpEnabled (true); '? –

+0

Lütfen tam soruyu okuyun;) – RedBassett

+0

Evet Bunu zaten okudum, ve getSupportActionBar() 'dan bahsediyorum? –

cevap

3

ben de aynı sorunu tanıştım çünkü kod tabanı Android Studio tarafından oluşturulan varsayalım. Aşağıdaki kodu SettingsActivity’inize ekleyebilirsiniz.

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    int id = item.getItemId(); 
    if (id == android.R.id.home) { 
     finish(); // or go to another activity 
     return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 

Bu, düğmenin çalıştığından emin olun.