Tag: listpreference

ListPreference:使用string数组作为Entry和整数数组作为Entry Values不起作用

我在一个List.xml文件中使用ListPreference。 我想向用户显示3个选项的列表来select。 当用户在“设置”中select其中一个选项时,出现此错误: java.lang.NullPointerException at android.preference.ListPreference.onDialogClosed(ListPreference.java:264) at android.preference.DialogPreference.onDismiss(DialogPreference.java:381) at android.app.Dialog$ListenersHandler.handleMessage(Dialog.java:1228) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4424) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) at dalvik.system.NativeStart.main(Native Method) 这是ListPreference的代码: <ListPreference android:entries="@array/date_alignement" android:entryValues="@array/date_alignement_values" android:key="settings_date_alignement" android:summary="@string/settings_date_alignement_summary" android:title="@string/settings_date_alignement_title" /> 这里是我用来填充条目的数组: <string-array name="date_alignement"> <item>"Top"</item> <item>"Center"</item> <item>"Bottom"</item> </string-array> <integer-array name="date_alignement_values"> <item >0</item> <item >1</item> <item >2</item> </integer-array> 在我的onSharedPreferenceChanged中,我以这种方式使用这些值: @Override public […]

自定义行在listPreference?

我想创build一个ListPreference,但不知何故禁用其中的一个项目。 有点像灰色的东西,而不是有能力select它。 这将是一个即将到来的function,我希望它在列表中不能select。 我创build了一个自定义的ListPreference类,并在该类中定制了一个适配器,希望能够使用适配器来创build我想要的东西。 代码工作,它设置适配器,但没有适配器function被调用。 我在方法上设置了断点,比如getCount(),但是他们永远不会被调用。 这是我的代码。 自定义ListPreference取自http://blog.350nice.com/wp/archives/240 import android.content.Context; import android.content.DialogInterface; import android.graphics.Color; import android.preference.ListPreference; import android.util.AttributeSet; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.app.AlertDialog.Builder; public class CustomListPreference extends ListPreference { private boolean[] mClickedDialogEntryIndices; CustomListPreferenceAdapter customListPreferenceAdapter = null; Context mContext; public CustomListPreference(Context context, AttributeSet attrs) { super(context, attrs); mContext = context; mClickedDialogEntryIndices = new […]