İşte benim tercihi faaliyettir: burada adı ayarlarla bir İşlem Çubuğu ve Sen çift yapmalıyımeklenti eylem çubuğu
cevap
eve bir geri düğmesine göstermek istiyorum
package com.example.hms.test;
import android.os.Bundle;
import android.preference.PreferenceActivity;
public class PrefsActivity extends PreferenceActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.prefs);
}
}
şeyler:
PreferenceActivity sizin onCreate ekleyin:
PreferenceActivity içinde onOptionsItemSelectedgeçersiz kılma:
@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: NavUtils.navigateUpFromSameTask(this); return true; } return super.onOptionsItemSelected(item); }
değişiklik PreferenceActivity böyle bir şey bakmak için Manifest'inizde
<activity>
tag:<activity android:name=".PrefsActivity" android:label="@string/title_activity_settings" android:parentActivityName=".MainActivity"> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.android.MainActivity" /> </activity>
Son olarak koymak android: launchMode = "singleTop" AnaSayfada
<activity>
etiketinde belirtme:<activity android:name=".MainActivity" android:label="@string/app_name" android:launchMode="singleTop" android:theme="@style/AppTheme.NoActionBar"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
Ancak PreferenceActivity AbbCombatActivity uzatmaz! –
Üzgünüm, ama getSupportActionBar(), sınıfım PreferenceActivity – Denny
Pooya yanıtı, PreferenceActivity için çalışmaz. Bunun yerine sınıfınızı AppCompatActivity'i genişletin ve tercihi yüklemek için bir PreferenceFragment kullanın.
<activity android:name=".MyPrefsActivity"
android:label="Preferences"
android:theme="@style/AppTheme"/>
Ve şimdi hangisi ebeveyn etkinlik benim Esas Faaliyet bir amacı kullanarak ayarları etkinlik başlatma (veya edebilirsiniz:
public class MyPrefsActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getFragmentManager().beginTransaction().replace(android.R.id.content, new MyPreferenceFragment()).commit();
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onSupportNavigateUp(){
finish();
return true;
}
public static class MyPreferenceFragment extends PreferenceFragment {
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
}
}
AndroidManifest.xml aktiviteyi koyun: İşte ayarları için benim kodudur Eğer var) Normal olarak:
Intent prefsIntent = new Intent(activity, MyPrefsActivity.class);
activity.startActivity(prefsIntent);
'u uzattığında bulunamıyor ** Bu yaklaşım, ** MyPrefsActivity öğesine herhangi bir "NoActionBar" teması uygulandığında, getSupportActionBar() 'araması geri dönecektir boş. – Eido95
[desteği (V21) Araç Çubuğu ile bir Tercih Ekranı oluşturma] Olası yinelenen (http://stackoverflow.com/questions/26564400/creating-a-preference-screen-with- destek-v 21-araç çubuğu) – Shubhank
http://stackoverflow.com/a/27455363/3981656 numaralı telefonu deneyin. –
Ayrıca bkz. [Tercihi Etkinliğe Ekle ActionBar] (http://stackoverflow.com/questions/30793609/add-actionbar-to-a -preferenceactivity) – jayeshsolanki93