有两种方式:
1.布局文件activity_mian.xml需要添加一个ListView控件,且id为list,不然不能运行,应该是由于PreferenceActivity是一个List。
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <ListView android:id="@android:id/list" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:drawSelectorOnTop="false" /> </LinearLayout>
2..直接在activity中在Activity中的onCreate添加setContentView(R.layout.activity_main);
然后就可以使用findViewById去获取自定义布局下的控件.
另一种方式:
1.在xml文件中preferencescreen的布局中添加
<Preference android:layout="@layout/activity_main" android:key="youmi_ad"/>
2.activity_mian.xml和前面相同
3. findPreference("main");
Android布局PreferenceActivity——插入layout文件,布布扣,bubuko.com
Android布局PreferenceActivity——插入layout文件
原文:http://www.cnblogs.com/zust-zbt/p/3772512.html