2011-08-28 2 views
2

Я добавил пользовательские макеты к своим предпочтениям. Но теперь я хочу изменить текст TextView внутри макета программно. Как мне это сделать?Настройки пользовательских макетов Android

Теперь это выглядит следующим образом:

final PreferenceScreen preference = (PreferenceScreen) findPreference(getString(R.string.key_of_my_prefernce)); 
preference.setLayoutResource(R.layout.my_preference); 

Спасибо

ответ

1

Вы пробовали?

PreferenceManager prefmngr=preference.getPreferenceManager(); 
TextView txt = (TextView)prefmngr.findPreference("the key of the textview in the preference tree").getView(convertView, parent); 
txt.setText("TEXT"); 

http://developer.android.com/reference/android/preference/Preference.html#getView(android.view.View, android.view.ViewGroup)

+0

гм, я пытался. Но он говорит о каком-то LinearLayout CastException. Единственное, что я изменил, это добавить ключ макета в findPreference(), и я написал getView (findViewByID (R.id.textView), null) – Jack

+0

@nikola это спасло мою жизнь – Asthme

+0

@nikola, что бы вы передали как аргумент convertView? – bgenchel

Смежные вопросы