Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 坚持创建首选项_Android - Fatal编程技术网

Android 坚持创建首选项

Android 坚持创建首选项,android,Android,我正在创建有3个选项的首选项 关于我们 联系我们 帮助 当我在emulator上运行下面的代码,打开应用程序并单击“关于我们”时,我收到一条消息,说不幸的是Rost已经停止工作 关于我们应该显示一个对话框主题和文本这是一个演示版完整版将花费你大约1000美元 想知道可能是什么问题 这是我的密码: Prefs.java import android.os.Bundle; import android.preference.PreferenceFragment; class Prefs exte

我正在创建有3个选项的首选项

关于我们

联系我们

帮助

当我在emulator上运行下面的代码,打开应用程序并单击“关于我们”时,我收到一条消息,说不幸的是Rost已经停止工作

关于我们应该显示一个对话框主题和文本这是一个演示版完整版将花费你大约1000美元

想知道可能是什么问题

这是我的密码:

Prefs.java

import android.os.Bundle;
import android.preference.PreferenceFragment;


class Prefs extends PreferenceFragment {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub


        addPreferencesFromResource(R.xml.simplr_preferences);


    }
关于.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="This ia a demo version full version will cost you around $1000" />

</LinearLayout>

再次检查您的首选项XML文件!有一些XML语法错误

<CheckBoxPreference
         android:title="Checkbox" 
         android:key="Checkbox"
         android:defaultvalue="true"
        android:summary="This ia a check box" >

</CheckBoxPreference>
之后,如果指向的文件不是活动,则无法启动活动

您的首选项文件是一个PreferenceFragment,需要托管在FragmentActivity或包含此片段的Activity中


确保您再次阅读官方文档

这是您的主要错误。不能以以下意图启动片段:

Intent isn = new Intent("com.world.rost.PREFS");
Intent可用于启动活动,broadcastIntent可用于将其发送到任何感兴趣的BroadcastReceiver组件,startServiceIntent或bindServiceIntent、ServiceConnection、int可用于与后台服务通信

您需要在FragmentActivity或相关类中承载该片段

"PREFS" is not an Activity inside the package "com.world.rost"
这是一个

片段必须始终嵌入到活动中,并且片段的生命周期直接受宿主活动生命周期的影响

这是一个


另外,正如@Pavlos所提到的,您也有一些语法XML错误。

好的,谢谢。因此,在我将代码嵌入PreferenceActivity类之后。我应该在这个类中包含哪些强制方法?我没有在有限空间的评论中写东西,谷歌已经告诉了你我有解决方案所需的几乎所有信息,但这将花费你大约1000美元。@323go谢谢你自己保留这一点。。下面的人给了我免费的解决方案。请不要乞讨,因为这是一个编程社区而不是慈善机构。很抱歉,你对讽刺的理解被打破了。我知道你在开玩笑。兄弟,现在是你开玩笑了。请阅读我的评论。你开了个玩笑yourself@323go我是Android的初学者,如果你有经验,那并不意味着你可以取笑别人。别忘了任何方面的专家都曾是初学者
09-26 09:50:20.970: D/dalvikvm(1605): GC_FOR_ALLOC freed 16K, 4% free 3364K/3476K, paused 3ms, total 4ms
09-26 09:50:20.970: I/dalvikvm-heap(1605): Grow heap (frag case) to 3.979MB for 635808-byte allocation
09-26 09:50:21.000: D/dalvikvm(1605): GC_FOR_ALLOC freed 1K, 3% free 3984K/4100K, paused 25ms, total 25ms
09-26 09:50:21.090: W/EGL_emulation(1605): eglSurfaceAttrib not implemented
09-26 09:52:26.362: W/EGL_emulation(1605): eglSurfaceAttrib not implemented
09-26 09:52:27.102: D/dalvikvm(1605): newInstance failed: Lcom/world/rost/Prefs; not accessible to Landroid/app/Instrumentation;
09-26 09:52:27.102: D/AndroidRuntime(1605): Shutting down VM
09-26 09:52:27.102: W/dalvikvm(1605): threadid=1: thread exiting with uncaught exception (group=0xb2d2db20)
09-26 09:52:27.102: E/AndroidRuntime(1605): FATAL EXCEPTION: main
09-26 09:52:27.102: E/AndroidRuntime(1605): Process: com.world.rost, PID: 1605
09-26 09:52:27.102: E/AndroidRuntime(1605): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.world.rost/com.world.rost.Prefs}: java.lang.IllegalAccessException: access to class not allowed
09-26 09:52:27.102: E/AndroidRuntime(1605):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2121)
09-26 09:52:27.102: E/AndroidRuntime(1605):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
09-26 09:52:27.102: E/AndroidRuntime(1605):     at android.app.ActivityThread.access$800(ActivityThread.java:135)
09-26 09:52:27.102: E/AndroidRuntime(1605):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
09-26 09:52:27.102: E/AndroidRuntime(1605):     at android.os.Handler.dispatchMessage(Handler.java:102)
09-26 09:52:27.102: E/AndroidRuntime(1605):     at android.os.Looper.loop(Looper.java:136)
09-26 09:52:27.102: E/AndroidRuntime(1605):     at android.app.ActivityThread.main(ActivityThread.java:5017)
09-26 09:52:27.102: E/AndroidRuntime(1605):     at java.lang.reflect.Method.invokeNative(Native Method)
09-26 09:52:27.102: E/AndroidRuntime(1605):     at java.lang.reflect.Method.invoke(Method.java:515)
09-26 09:52:27.102: E/AndroidRuntime(1605):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
09-26 09:52:27.102: E/AndroidRuntime(1605):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
09-26 09:52:27.102: E/AndroidRuntime(1605):     at dalvik.system.NativeStart.main(Native Method)
09-26 09:52:27.102: E/AndroidRuntime(1605): Caused by: java.lang.IllegalAccessException: access to class not allowed
09-26 09:52:27.102: E/AndroidRuntime(1605):     at java.lang.Class.newInstanceImpl(Native Method)
09-26 09:52:27.102: E/AndroidRuntime(1605):     at java.lang.Class.newInstance(Class.java:1208)
09-26 09:52:27.102: E/AndroidRuntime(1605):     at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
09-26 09:52:27.102: E/AndroidRuntime(1605):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2112)
09-26 09:52:27.102: E/AndroidRuntime(1605):     ... 11 more
<CheckBoxPreference
         android:title="Checkbox" 
         android:key="Checkbox"
         android:defaultvalue="true"
        android:summary="This ia a check box" >

</CheckBoxPreference>
Intent isn = new Intent("com.world.rost.PREFS");
"PREFS" is not an Activity inside the package "com.world.rost"