而使用Android的设置(我下面的udacity Android开发课程)运行时异常 [英] Runtime Exception while using the Settings in Android (I am following the udacity Android Developer course)

查看:308
本文介绍了而使用Android的设置(我下面的udacity Android开发课程)运行时异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是新来的Andr​​oid和继Udacity Android开发课程学习。 我在第3章,他们教给你的应用程序中添加设置。我已增加了从机器人工作室SettingActivity。当我点击设置菜单上,我的应用程序崩溃。 这是我的pref_general.xml文件

I am new to android and following the Udacity Android developer course to learn. I am on chapter 3 where they teach about the adding the settings in your app. I have added the SettingActivity from android studio. When I click on settings menu, my app crashes. This is my pref_general.xml file

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">

<!-- NOTE: EditTextPreference accepts EditText attributes. -->
<!-- NOTE: EditTextPreference's summary should be set to its value by the activity code. -->
<EditTextPreference
    android:key="@string/pref_location_key"
    android:defaultValue="@string/pref_location_default"
    android:maxLines="1"
    android:inputType="text"
    android:selectAllOnFocus="true"
    android:singleLine="true"
    android:title="@string/pref_location_label" />

我已在SettingActivity这些修改

I have made these changes in SettingActivity

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setupActionBar();
addPreferencesFromResource(R.xml.pref_general);
bindPreferenceSummaryToValue(findPreference(getString(R.string.pref_location_key)));}

我收到以下异常,当我点击设置菜单

I am getting following exception when I click the Setting menu

Process: com.example.android.sunshine.app, PID: 10131
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.android.sunshine.app/com.example.android.sunshine.app.SettingsActivity}: java.lang.RuntimeException: Modern two-pane PreferenceActivity requires use of a PreferenceFragment
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2339)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2413)
at android.app.ActivityThread.access$800(ActivityThread.java:155)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1317)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5343)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)

Caused by: java.lang.RuntimeException: Modern two-pane PreferenceActivity requires use of a PreferenceFragment
 at android.preference.PreferenceActivity.requirePreferenceManager(PreferenceActivity.java:1441)
 at android.preference.PreferenceActivity.addPreferencesFromResource(PreferenceActivity.java:1511)
 at com.example.android.sunshine.app.SettingsActivity.onCreate(SettingsActivity.java:124)
 at android.app.Activity.performCreate(Activity.java:6010)
 at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1129)
 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2292)
 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2413) 
 at android.app.ActivityThread.access$800(ActivityThread.java:155) 
 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1317) 
 at android.os.Handler.dispatchMessage(Handler.java:102) 
 at android.os.Looper.loop(Looper.java:135) 
 at android.app.ActivityThread.main(ActivityThread.java:5343) 
 at java.lang.reflect.Method.invoke(Native Method) 
 at java.lang.reflect.Method.invoke(Method.java:372) 
 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905) 
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)

任何帮助吗?很抱歉,如果它很幼稚的事情

Any help? Sorry if its very naive thing

推荐答案

我能解决这个问题。
我改变我的SettingActivity的OnCreate而不是改变我SettingFragment的OnCreate中是静态的私有类SettingActivity的。

I was able to solve this.
I was changing the OnCreate of my SettingActivity instead of changing my OnCreate of SettingFragment which is static private class of SettingActivity.

这篇关于而使用Android的设置(我下面的udacity Android开发课程)运行时异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆