PreferenceScreen Klasse nicht gefunden
Habe ich diese in preferences.xml
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<CheckBoxPreference
android:key="displayNotification"
android:title="Display notification"
/>
<ListPreference
android:entries="@array/languages"
android:key="language"
/>
</PreferenceScreen>
PreferencesActivity.java die Klasse, die verwendet diese xml -
public class PreferencesActivity extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
//TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.xml.preferences);
}
}
Und ich habe es im manifest deklariert wie diese
<activity android:name="com.tellthetime.PreferencesActivity" />
Wenn ich die Aktion starten, bekomme ich eine class not found exception, die ich nicht verstehe.
05-17 00:35:13.633: ERROR/AndroidRuntime(212): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.tellthetime/com.tellthetime.PreferencesActivity}: android.view.InflateException: Binary XML file line #2: Error inflating class PreferenceScreen
05-17 00:35:13.633: ERROR/AndroidRuntime(212): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496)
05-17 00:35:13.633: ERROR/AndroidRuntime(212): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
05-17 00:35:13.633: ERROR/AndroidRuntime(212): at android.app.ActivityThread.access$2200(ActivityThread.java:119)
05-17 00:35:13.633: ERROR/AndroidRuntime(212): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
05-17 00:35:13.633: ERROR/AndroidRuntime(212): at android.os.Handler.dispatchMessage(Handler.java:99)
05-17 00:35:13.633: ERROR/AndroidRuntime(212): at android.os.Looper.loop(Looper.java:123)
05-17 00:35:13.633: ERROR/AndroidRuntime(212): at android.app.ActivityThread.main(ActivityThread.java:4363)
05-17 00:35:13.633: ERROR/AndroidRuntime(212): at java.lang.reflect.Method.invokeNative(Native Method)
05-17 00:35:13.633: ERROR/AndroidRuntime(212): at java.lang.reflect.Method.invoke(Method.java:521)
05-17 00:35:13.633: ERROR/AndroidRuntime(212): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
05-17 00:35:13.633: ERROR/AndroidRuntime(212): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
05-17 00:35:13.633: ERROR/AndroidRuntime(212): at dalvik.system.NativeStart.main(Native Method)
05-17 00:35:13.633: ERROR/AndroidRuntime(212): Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class PreferenceScreen
05-17 00:35:13.633: ERROR/AndroidRuntime(212): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:576)
05-17 00:35:13.633: ERROR/AndroidRuntime(212): at android.view.LayoutInflater.inflate(LayoutInflater.java:385)
05-17 00:35:13.633: ERROR/AndroidRuntime(212): at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
05-17 00:35:13.633: ERROR/AndroidRuntime(212): at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
05-17 00:35:13.633: ERROR/AndroidRuntime(212): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:198)
05-17 00:35:13.633: ERROR/AndroidRuntime(212): at android.app.Activity.setContentView(Activity.java:1622)
05-17 00:35:13.633: ERROR/AndroidRuntime(212): at com.tellthetime.PreferencesActivity.onCreate(PreferencesActivity.java:13)
05-17 00:35:13.633: ERROR/AndroidRuntime(212): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-17 00:35:13.633: ERROR/AndroidRuntime(212): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
05-17 00:35:13.633: ERROR/AndroidRuntime(212): ... 11 more
05-17 00:35:13.633: ERROR/AndroidRuntime(212): Caused by: java.lang.ClassNotFoundException: android.view.PreferenceScreen in loader dalvik.system.PathClassLoader@44c067e8
05-17 00:35:13.633: ERROR/AndroidRuntime(212): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
05-17 00:35:13.633: ERROR/AndroidRuntime(212): at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
05-17 00:35:13.633: ERROR/AndroidRuntime(212): at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
05-17 00:35:13.633: ERROR/AndroidRuntime(212): at android.view.LayoutInflater.createView(LayoutInflater.java:466)
05-17 00:35:13.633: ERROR/AndroidRuntime(212): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:544)
05-17 00:35:13.633: ERROR/AndroidRuntime(212): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:66)
05-17 00:35:13.633: ERROR/AndroidRuntime(212): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563)
05-17 00:35:13.633: ERROR/AndroidRuntime(212): ... 19 more
Dies wurde bereits gefragt,hier, aber niemand antwortete. Wie bereits in diesem thread von Heiko Rupp, android ist auf der Suche für die Klasse in das Paket android.view
, aber die Klasse ist in android.preferences
wirklich mich verloren.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du bist immer verwirrt, Sie versuchen, die Vorliebe definition als layout definition. Zuerst legen Sie ein layout für die Activity, dann binden Sie Ihre Einstellungen XML:
addPreferencesFromResource
gekennzeichnet ist veraltet. VerwendenPreferenceFragment
statt.Dem setContentView ist nicht für PreferenceScreen, nur "addPrerencesFromResource(R.**.yourPreference);" gut.
Und Ihre Tätigkeit für die yourPreference view erbt PreferenceActivity, aber nicht Aktivität.
Brauchen Sie nicht
setContentView()
Methode inPreferenceActivity
.Obwohl es Veraltet. verwenden Präferenz-Fragmente statt.