应用程序崩溃。为什么?
App crashing. Why?
我正在制作一个 Pizza idle clicker 游戏,当我尝试从商店购买东西时它总是崩溃,我认为我的应用程序可能因为这段代码而崩溃:
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 is never used",每当我点击应用程序上的按钮时它就会崩溃。我该怎么做才能解决这个问题?我忽略了什么吗?我对制作应用程序和 android 工作室还很陌生,非常感谢任何帮助。
这是我在 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)
这是我的按钮初始化的地方。
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);
找不到你的按钮对应的方法 可能是你换了按钮或者删除了重新做...从头开始写,这次要注意按钮和方法不要有任何冲突!
ps。也许您的清单文件丢失了一些东西...应用程序崩溃有时也是如此!
我正在制作一个 Pizza idle clicker 游戏,当我尝试从商店购买东西时它总是崩溃,我认为我的应用程序可能因为这段代码而崩溃:
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 is never used",每当我点击应用程序上的按钮时它就会崩溃。我该怎么做才能解决这个问题?我忽略了什么吗?我对制作应用程序和 android 工作室还很陌生,非常感谢任何帮助。
这是我在 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)
这是我的按钮初始化的地方。
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);
找不到你的按钮对应的方法 可能是你换了按钮或者删除了重新做...从头开始写,这次要注意按钮和方法不要有任何冲突! ps。也许您的清单文件丢失了一些东西...应用程序崩溃有时也是如此!