Preference.setWidgetLayoutResource()问题

Dro*_*iss 0 android android-preferences

在从图像选择器返回后(向用户显示他/她选择的内容),我正在尝试设置可点击首选项的图标图像.

像这样的简单设置不起作用,我不知道为什么:

public boolean onActivityResult(int requestCode, int resultCode, Intent intent) {
    mIconPathPreference.setWidgetLayoutResource(R.layout.preference_icon);
}
Run Code Online (Sandbox Code Playgroud)

特别是当将行setWidgetLayoutResource放在其他地方时确实添加了一个图标.

偏好布局:

<Preference
    android:key="@string/iconPath_key"
    android:title="@string/iconPath"
    android:summary="@string/iconPath_summ"
    android:dependency="@string/iconEnable" />
Run Code Online (Sandbox Code Playgroud)

preference_icon布局:

<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="48dp"
    android:layout_height="48dp"
    android:src="@drawable/ic_launcher" />
Run Code Online (Sandbox Code Playgroud)

小智 6

设置android:widgetLayout您的首选项的属性应该工作.

<Preference
    android:key="@string/iconPath_key"
    android:title="@string/iconPath"
    android:summary="@string/iconPath_summ"
    android:dependency="@string/iconEnable"
    android:widgetLayout"@layout/your_widge_layout" />
Run Code Online (Sandbox Code Playgroud)