2011-12-29 2 views
0

Возможно ли сделать элемент в «preferencses.xml», который будет отображаться как «серый» (только для чтения, например «О программе/Версия» из главного меню Android?) Без возможности интерактивного редактирования?Можно ли создавать элементы предпочтения без возможности интерактивного редактирования?

ответ

0

Если вы хотите жестко закодировать это и использовать только XML:

<EditTextPreference 
    android:key="PREF_KEY" 
    android:enabled="false" 
    android:selectable="false" /> 

Если вы хотите быть более динамичным, изменяя enabled- (возможно, в ваших настройках активности onCreate):

Preference pref = 
     getPreferenceScreen().findPreference("PREF_KEY"); 
    pref.setEnabled(false); 
    pref.setSelectable(false); 

И как указывает hwrdprkns, если вам не нужен динамический маршрут (ваши предпочтения никогда не используются в качестве реального предпочтения), вы можете использовать базовый класс предпочтений вместо подкласса, например EditTextPreference.

+0

Ugh. Это не способ сделать это. – hwrdprkns

+0

Огонь! Я не понимал, что вы можете использовать базовое предпочтение, это довольно аккуратно. Тем не менее, ваш ответ не касался «серого» взгляда и неспособности выбора OP. – Josh

+0

Кроме того, мне было не ясно, как можно использовать два вышедших фрагмента - я отредактировал, чтобы быть более ясным. – Josh

0

Используйте базу Preference:

<Preference 
android:title="Custom Preference" 
android:summary="This works almost like a button" 
android:key="customPref" /> 
Смежные вопросы