2017-10-23 8 views
-11

アプリがクラッシュします。どうして?私はピザアイドルクリッカーゲームを作っていますし、それは私が店から何かを購入しようとしたとき、私は私のアプリがあるため、このコードでクラッシュするかもしれないと思うクラッシュし

public void shopPPC (View view) { 
    if(pizza >= shopPPC){ 
     pizza -= shopPPC; 
     ppc *= 2; 

     shopPPC *= 1.5; 

     sauceBtn.setText("Sauce (1x PPC) Price: " + shopPPC); 
     ppsAndppcView.setText(pps + " PPS |"+ ppc + " PPC"); 
     pizzaView.setText(pizza + " Pizzas"); 

     savePrefs(shopPPCKeyString, shopPPC); 
     savePrefs(ppcKeyString, ppc); 
     savePrefs(pizzaKeyString, pizza); 

    } 

    else{ 
     Toast.makeText(this, "You need more pizzas", Toast.LENGTH_SHORT).show(); 

    } 
} 

それはShopPPCが使用されることはありません「と言います"私はそれがクラッシュするアプリのボタンをクリックするたびに。これを修正するにはどうすればよいですか?私は何か見落としたことがありますか?私はかなり新しいアプリやアンドロイドスタジオを作るには、どんな助けても大変感謝しています。

これは、私はAndroidのモニターで得るものです:

10-23 11:57:49.192 4154-4154/com.example.mariu.pizzaclicker E/AndroidRuntime: FATAL EXCEPTION: main 
                       Process: com.example.mariu.pizzaclicker, PID: 4154 
                       java.lang.IllegalStateException: Could not find method sauceBtn(View) in a parent or ancestor Context for android:onClick attribute defined on view class android.support.v7.widget.AppCompatButton with id 'sauceBtn' 
                        at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.resolveMethod(AppCompatViewInflater.java:327) 
                        at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:284) 
                        at android.view.View.performClick(View.java:5610) 
                        at android.view.View$PerformClick.run(View.java:22265) 
                        at android.os.Handler.handleCallback(Handler.java:751) 
                        at android.os.Handler.dispatchMessage(Handler.java:95) 
                        at android.os.Looper.loop(Looper.java:154) 
                        at android.app.ActivityThread.main(ActivityThread.java:6077) 
                        at java.lang.reflect.Method.invoke(Native Method) 
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) 
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756) 

私のボタン(S)が初期化されている場所です。

public void initialize(){ 

    pizzaView = (TextView) findViewById(R.id.pizzaView); 
     pizzaView.setText(pizza + " Pizzas"); 

    ppsAndppcView = (TextView) findViewById(R.id.ppsAndppcView); 
     ppsAndppcView.setText(pps + " PPS |"+ ppc + " PPC"); 

    pizzaBtn = (ImageButton) findViewById(R.id.pizzaBtn); 

    sauceBtn = (Button) findViewById(R.id.sauceBtn); 
     sauceBtn.setText("Sauce (1x PPC) Price: " + shopPPC); 

    cheeseBtn = (Button) findViewById(R.id.cheeseBtn); 
     cheeseBtn.setText("Cheese (1x PPS) Price: " + shopPPS); 
+3

慎重に例外メッセージを読んでください: 'java.lang.IllegalStateException:親または祖先でメソッドsauceBtn(View)を見つけることができませんでした。android:onClick属性がビュークラスに定義されていますandroid.support.v7.widget.AppCompatButton with id 'sauceBtn'' –

+0

ボタンを初期化したMainActivityコードを表示します。 –

+0

public void initialize(){ sauceBtn =(ボタン)findViewById(R.id.sauceBtn); sauceBtn.setText( "ソース(1x PPC)価格:" + shopPPC); } これはどういう意味ですか? –

答えて

0

それはあなたのボタンに対応する方法は多分uは、ボタンを変更したり、それを削除し、それが再び...ゼロから書き加えると、この時間はボタンや矛盾を持っていないその方法に注意して見つけることができません! ps。多分あなたのマニフェストファイルには何かが欠けています...アプリクラッシュは時々そこからです!

関連する問題

 関連する問題