Domanda

I xml uso attributi personalizzati per le preferenze. Le preferenze sono gonfiati da XML.

Sono riuscito a creare e leggere gli attributi XML personalizzati per EditTextPreference, ListPreference e CheckBoxPreference con la creazione di classi personalizzate che ereditano dalla rispettiva classe di preferenza.

Nel costruttore della classe I in grado di leggere gli attributi in questo modo:

public class CustomTextPreference extends EditTextPreference {
    public CustomTextPreference(Context context, AttributeSet attrs) {
        super(context, attrs);
        TypedArray a = context.obtainStyledAttributes(attrs,R.styleable.PreferenceCustomAttrs);
        x = a.getString(R.styleable.PreferenceCustomAttrs_x);
        y = a.getString(R.styleable.PreferenceCustomAttrs_y);
    }
}

Il mio problema è che non riesco a fare questo per la classe PREFERENCE, in quanto è una classe finale. Quindi la mia domanda è: C'è un modo posso leggere il attributi personalizzati di un PREFERENCE

È stato utile?

Soluzione

Probabilmente non per le stesse tecniche che si sta utilizzando. Ricordate, però, che i file di preferenza XML sono solo risorse XML. È possibile ottenere un parser per il file tramite getResources().getXml() dal PreferenceActivity. Da lì, si può leggere quello che vuoi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top