为什么我的onClick()按钮中有两个会崩溃应用程序

问题描述:

我正在教自己编写应用程序。为什么我的onClick()按钮中有两个会崩溃应用程序

我有一个最小的运作蛇游戏在一个项目https://github.com/byn3/BynSnake

我的目标是把该工作蛇应用到应用中的一个onClick()的按钮,我正在学习的东西https://github.com/byn3/BryanLeungApp

我的问题是,我该如何获得最后按钮(的onClick“玩蛇”,以阻止崩溃的应用程序?

蓝色的“玩蛇”的按钮,我点击时崩溃的应用程序。我复制了两个班,“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

放的logcat这里能更好地帮助 –

+2

我们不能告诉你如何停止崩溃,因为我们不知道什么原因造成的,并我们无法知道,因为您没有向我们显示错误消息或日志。如果我们不知道问题是什么,我们就无法解决问题。 “__蓝色的”播放蛇“按钮,我点击时崩溃了应用程序_”这似乎是相关的代码,然后显示我们...... – csmckelvey

+0

正如你所说为什么我的两个onClick()按钮崩溃的应用程序,但onclick的代码在哪里按钮 – Salman500

原因是在您的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) 
+0

你能解释一下在这种情况下使用'@android:style/Theme.NoTitleBar.Fullscreen'时出现的问题是什么_exactly_? – csmckelvey

+0

当然。活动是使用AppCompatActivity巫婆禁止任何非appcompat主题 –

+0

你知道它!谢谢这是正确的答案。我按照其他人的要求收到调试日志,发现问题恰恰在于此。按照你的指示,更换。现在它可以正常工作并按预期工作。谢谢 – Bryan