小编use*_*819的帖子

从onCreate调用addPreferencesFromResource时在PreferenceFragment中使用onCreateView的奇怪错误

我正在尝试将ImageView添加到首选项片段,以显示颜色设置的预览.我正在通过onCreateView方法访问imageview的实例来设置测试颜色,它将显示.但是它只有在我没有在onCreate方法中调用addPreferencesFromResource时才有效 - 这是一个问题,因为必须添加首选项.此外,如果我将调用留给addPreferencesFromResource,但删除整个onCreateView方法,程序将运行(没有可更新的imageview的albiet).

两种情况下的错误都是"内容具有id属性的视图'android.R.id.list',而不是ListView类"

我试图从onCreate访问imageview,但到那时布局项目被夸大了,我似乎无法访问显示的实际实例.

LogCat出错:

04-11 00:42:43.619: E/AndroidRuntime(5362): FATAL EXCEPTION: main
04-11 00:42:43.619: E/AndroidRuntime(5362): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.android.signalwidget/com.example.android.signalwidget.SignalWidgetConfigure}: java.lang.RuntimeException: Content has view with id attribute 'android.R.id.list' that is not a ListView class
Run Code Online (Sandbox Code Playgroud)

这里是带有内联片段的PreferenceActivity:

public class SigConfigure extends PreferenceActivity {

private static int prefs=R.xml.pref_widget_colors;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //getFragmentManager().beginTransaction().replace(android.R.id.content, new ColorsFragment()).commit();

}

@Override
public void onBuildHeaders(List<Header> target) {
    loadHeadersFromResource(R.xml.pref_headers, target);
}

public static class ColorsFragment extends PreferenceFragment {


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState); …
Run Code Online (Sandbox Code Playgroud)

android android-preferences android-fragments

6
推荐指数
1
解决办法
4657
查看次数