我想在首选项的顶部创建一个带有“全选”功能的自定义MultiSelectListPreference。 我通过扩展MultiSelectListPreference并设置全部选择布局来尝试相同的操作,但是选择所有布局都位于列表首选项的底部,如附图所示。
Here is code snippet -
1。主要偏好文件 -
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="Interfaces">
<com.samsung.trafficstats.settings.InterfacePreference
android:defaultValue="@array/empty_array"
android:dialogTitle="All Interfaces"
android:key="all_interfaces"
android:summary="show all interfaces" />
</PreferenceCategory>
</PreferenceScreen>
我在运行时填充这些条目和值。
我想在multiSelectPreference顶部设置“select_all布局文件” -
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:layout_weight="1"
android:text="Select All"
android:textSize="17sp" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="15dp" />
3.Custom Preference file -
public class InterfacePreference extends MultiSelectListPreference{
public InterfacePreference(Context context, AttributeSet attrs) {
super(context, attrs);
setDialogLayoutResource(R.layout.select_all_layout);
setPositiveButtonText("save");
setNegativeButtonText(android.R.string.cancel);
}
}
有没有办法在列表顶部显示“全选”布局?
答案 0 :(得分:0)
我认为您无法编辑首选项默认布局。如果你想要一个自定义布局,你可能必须创建整个布局页面而不使用Android首选项,而是使用ListView。以下是如何创建它的教程Multiple selection ListView with Custom Layout