Ich bin neu in Android, so brauche ich ein wenig Anleitung, wie man programmatisch hinzufügen EditTextPreference Objekte meiner PreferenceFragment.Wie programmiere ich EditTextPreferences programmgesteuert zu PreferenceFragment?
Ich ziehe eine Liste von Werten aus einem Webdienst. Ich habe sie erfolgreich in meinem SharedPreferences gespeichert, und ich verwende sie, um URLs (Pfadabschnitt) zu generieren.
würde ich die Benutzer meiner App möchte in der Lage sein, diese Werte zu bearbeiten, aber nach vielen auf Google zu suchen, es ist mir nicht klar, wie man programmatisch hinzufügen EditTextPreference Objekte meiner PreferenceFragment .
Bitte beachten Sie, mein PreferenceFragment funktioniert gut für den SharedPreferences Werte mich hart Code als Name in die Präferenz XML-Datei (PreferenceScreen). Ich weiß auch, wie ich meine SharedPreferences bekomme, also mach dir keine Sorgen darüber, diesen Teil mir erklären zu müssen.
Ich benutze addPreferencesFromResource in onCreate meiner PreferenceFragment. Sollte ich sie in der onCreateView hinzufügen? Ich dachte, ich könnte die PreferenceCategory bekommen und sie dort hinzufügen? Aber ich bin mir nicht sicher, wie ich das machen soll. Ich wäre wirklich dankbar für die Hilfe!
//-Code
PrefsFragment.java:
package com.example.lorddoineedhelp;
import android.os.Bundle;
import android.preference.PreferenceFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class PrefsFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = super.onCreateView(inflater, container, savedInstanceState);
// I am guessing I need to do something here?
return v;
}
}
XML-Datei für PreferenceFragment:
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Hard coded values -->
<PreferenceCategory
android:title="General">
<CheckBoxPreference
android:key="debug"
android:title="Debug"
android:summary="Enable Debug" />
</PreferenceCategory>
<PreferenceCategory android:title="Address">
<EditTextPreference
android:key="ipAddress"
android:title="IP Address"
android:summary="IP Address used for Image pings"
/>
<EditTextPreference
android:key="port"
android:title="Port"
android:summary="Port used for Image pings" />
</PreferenceCategory>
<!-- Where I want to add the values from my web service -->
<PreferenceCategory
android:title="Paths"
android:key="urlPaths">
</PreferenceCategory>
</PreferenceScreen>
Dies funktioniert gut für XML-weniger Einstellungen.Es gibt keine Notwendigkeit für Dummy XML, dies kann stattdessen verwendet werden: PreferenceScreen Bildschirm = getPreferenceManager(). CreatePreferenceScreen (getActivity()); setPreferenceScreen (Bildschirm); – kat