2017-07-31 7 views
0

私は自分でアプリケーションを作成してコーディングを教えています。なぜ2つのonClick()ボタンがアプリケーションにクラッシュするのですか

私は私の目標は、私はものhttps://github.com/byn3/BryanLeungAppを学ぶために作ってるんだ私のアプリののonClick()ボタンにその作業ヘビのアプリを置くことですhttps://github.com/byn3/BynSnake

一つのプロジェクトでは、最小限の機能のヘビのゲームを持っています。

私の質問は、私は最後のボタン(onClickのアプリをクラッシュ停止する「蛇を再生する」?

クリックしたときに、私はアプリがクラッシュしている青色の「蛇を再生」ボタンを得るのですか、です。私は2つのクラス、「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

我々はそれを引き起こしたかわからないので、私たちはどのようにクラッシュを停止するためにあなたを伝えることができない、より良い助け –

+2

に、ここでlogcatを入れて、エラーメッセージやログを表示していないため、そのことを知ることはできません。問題が何であるか分からなければ問題を解決できません。 "_私がクリックしたときにアプリケーションをクラッシュさせる青い 'Play Snake'ボタン..."それは関連コードのように思えます... – csmckelvey

+0

あなたが言ったように私のonClick()ボタンの2つがアプリケーションをクラッシュさせますが、onclickボタン – Salman500

答えて

0

あなたのAndroidManifest.xmlファイルに理由があります。 SnakeActivityはAppComatテーマを使用する必要があります。代わりに@android:style/Theme.NoTitleBar.Fullscreen

Theme.AppCompat.Light.NoActionBarを使用してみてくださいそして、ここでログです:

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の魔法使いを使用していますが、アプリなしのテーマは禁止されています –

+0

あなたはそれを手に入れました!ありがとう、これは正解です。他の人が要求したとおりにデバッグログを取得していましたが、問題はまさにこれでした。あなたの指示に従ってください。今それはうまく動作し、意図されています。ありがとうございます – Bryan

関連する問題