Android PreferenceScreen和Preference小部件实例访问

时间:2016-02-08 10:15:33

标签: android widget instance preferenceactivity preferencescreen

在我的应用程序中存在我自己的类

public class ColorAccesoryView extends View{
    @Override protected void onDraw(Canvas cv){
    }
}

用于布局 color_accesory.xml

<?xml version="1.0" encoding="utf-8"?>
<android.swp.ColorAccesoryView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/color_box"
android:layout_width="52dp"
android:layout_height="26dp"
android:gravity="right"
android:paddingRight="12dp" />

在PreferenceScreen创建时,我将此xml设置为两个不同首选项中的小部件

color1_Pref.setWidgetLayoutResource(R.layout.color_accesory);
...
color2_Pref.setWidgetLayoutResource(R.layout.color_accesory);

如何访问ColorAccesoryView的两个实例,为每个首选项单独设置它?

1 个答案:

答案 0 :(得分:0)

尝试在组视图元素中包装布局color_accesory.xml:

    <FrameLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <android.swp.ColorAccesoryView 
            android:id="@+id/color_box"
            android:layout_width="52dp"
            android:layout_height="26dp"
            android:gravity="right"
            android:paddingRight="12dp" />
</FrameLayout>