为什么我的两个onClick()按钮崩溃了应用

时间:2017-07-31 21:03:20

标签: java android

我正在通过制作应用程序来教自己编码。

我在一个项目https://github.com/byn3/BynSnake

中有一个功能最小的蛇游戏

我的目标是将我正在运行的应用程序放入我的应用程序的onClick()按钮中,以便我学习内容https://github.com/byn3/BryanLeungApp

我的问题是,如何获取最后一个按钮(onClick" Play Snake"停止崩溃应用程序?

蓝色"玩蛇"单击时我崩溃应用程序的按钮。我复制了两个班级," SnakeActivity"和" SnakeView"并修改了一些其他的东西。我的怀疑是我的开始活动的呼吁有问题

public void SnakeActivity(View view) {
    Intent i = new Intent(this, SnakeActivity.class);
    startActivity(i);
}

或者我的AndroidManifest文件夹在进行活动时不正确

<activity
    android:name=".SnakeActivity"
    android:screenOrientation="landscape"
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

我在两个项目中都进行了并排代码比较,但最后我决定开个帐户并寻求帮助,因为我已经坚持这个问题太久了,答案可能是我的知识范围。

1 个答案:

答案 0 :(得分:0)

原因在于您的AndroidManifest.xml文件。 SnakeActivity应该使用AppComat主题。尝试使用Theme.AppCompat.Light.NoActionBar代替@android:style/Theme.NoTitleBar.Fullscreen

这是日志:

Process: com.example.android.bryanleung, PID: 2832
                                                 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.android.bryanleung/com.example.android.bryanleung.SnakeActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
                                                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2684)
                                                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2751)
                                                     at android.app.ActivityThread.-wrap12(ActivityThread.java)
                                                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1496)
                                                     at android.os.Handler.dispatchMessage(Handler.java:102)
                                                     at android.os.Looper.loop(Looper.java:154)
                                                     at android.app.ActivityThread.main(ActivityThread.java:6186)
                                                     at java.lang.reflect.Method.invoke(Native Method)
                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
                                                  Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
                                                     at android.support.v7.app.AppCompatDelegateImplV9.createSubDecor(AppCompatDelegateImplV9.java:359)
                                                     at android.support.v7.app.AppCompatDelegateImplV9.ensureSubDecor(AppCompatDelegateImplV9.java:328)
                                                     at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:280)
                                                     at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:145)
                                                     at com.example.android.bryanleung.SnakeActivity.onCreate(SnakeActivity.java:37)
                                                     at android.app.Activity.performCreate(Activity.java:6684)
                                                     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
                                                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2637)
相关问题