yılında EditTextPreference değerini gösterir ben bir Android'de geliştirmek ve ayar aktiviteyi yapmak istiyorum,Özetle
My ayar aktivitesini
public class Main extends Activity {
protected SettingsFragment settingsFragment;
@SuppressLint("NewApi")
@TargetApi(11)
public class SettingsFragment extends PreferenceFragment implements
SharedPreferences.OnSharedPreferenceChangeListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
setSummaries();
}
@Override
public void onResume() {
final SharedPreferences sh = getPreferenceManager().getSharedPreferences() ;
super.onResume();
sh.registerOnSharedPreferenceChangeListener(this);
}
@Override
public void onPause() {
final SharedPreferences sh = getPreferenceManager().getSharedPreferences() ;
super.onPause();
sh.unregisterOnSharedPreferenceChangeListener(this);
}
@SuppressLint("NewApi")
public void setSummaries(){
final SharedPreferences sh = getPreferenceManager().getSharedPreferences() ;
//Pref1
Preference stylePref = findPreference("editTextPref");
stylePref.setSummary(sh.getString("editTextPref", ""));
//here the other preferences..
}
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if (key.equals("editTextPref")) {
Preference pref = settingsFragment.findPreference(key);
// Set summary to be the user-description for the selected value
pref.setSummary(sharedPreferences.getString(key, ""));
}
//here the others preferences
}
}//End fragment
@SuppressLint("NewApi")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
settingsFragment = new SettingsFragment();
getFragmentManager().beginTransaction()
.replace(android.R.id.content, settingsFragment)
.commit();
}
}
ve benim res/preferences.xml
dosya öğrenme
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:title="BTA"
xmlns:android="http://schemas.android.com/apk/res/android">
<EditTextPreference
android:key="editTextPref"
android:title="Numero de telephone"
android:summary="This allows you to enter a string"
android:defaultValue="*"/>
</PreferenceCategory>
</PreferenceScreen>
Şimdi ayar etkinliği için aktivitem var. Ama ben EditTextPref değerini android:summary
'da görüntülemek istiyorum. Birçok konu buldum ama tüm işlevler kullanımdan kaldırıldı.
DÜZENLEME: @Ace_McIntosh'a teşekkürler, bunu isteyen kişiler için kodumu düzenledim, şimdi çalışıyor.
Olası kopyası [Tercihler Özetinde Android Tercihinin geçerli değerini nasıl gösteririm?] (Https://stackoverflow.com/questions/531427/how-do-i-display-the-current-value -of-an-android-tercih-in-the-tercihi-su) –