how to access widgets set in layout using preference activity

ε祈祈猫儿з 提交于 2019-12-13 12:17:30

问题


i am creating preference Activity, in that i am adding custom preference screen using layout and i want to update values dynamically.

Here's the code :

 <PreferenceCategory
    android:key="more_category"
    android:title="More Wallpapers " >
    <Preference
        android:key="more_apps"
        android:layout="@layout/more_apps" />

Here is my layout more_apps.xml

   <?xml version="1.0" encoding="utf-8"?>

   <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:padding="5dp"
android:layout_height="match_parent"
 >

<TextView
    android:id="@+id/title_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dp"
    android:layout_marginTop="10dp"
    android:layout_toRightOf="@+id/image_one"
    android:text="Large Text"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
    android:id="@+id/description_text"
    android:layout_width="wrap_content"
    android:layout_marginLeft="10dp"
    android:layout_marginTop="10dp"
    android:layout_height="wrap_content"
    android:layout_below="@+id/title_text"
    android:layout_toRightOf="@+id/image_one"
    android:text="Medium Text"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<ImageView
    android:id="@+id/image_one"
    android:layout_width="75dp"
    android:layout_height="75dp"
    android:src="@drawable/launcher" />

I want to update my textview and image at run time, how to access in preference activity?

Please help


回答1:


you need to use your mention your preference class in xml layout like the below code

<PreferenceCategory
   android:key="more_category"
   android:title="More Wallpapers " >

   <com.myapp.myclass  android:key="more_apps"/>

</PreferenceCategory>

com.myapp is a package name and myclass is java file where all your coding comes..

Here is the java code and inflated xml more_apps.xml

  public class myclass extends Preference {

    public myclass(Context context) {
    super(context);
    // TODO Auto-generated constructor stub
    }

@Override
protected View onCreateView(ViewGroup parent) {
    // TODO Auto-generated method stub

    LayoutInflater inflater = (LayoutInflater) getContext()
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    View view = inflater.inflate(R.layout.more_apps, null);

    return view;
  }

 }

This way you can create your custom preference activity and do any stuff..



来源:https://stackoverflow.com/questions/10997007/how-to-access-widgets-set-in-layout-using-preference-activity

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!