2017-07-31 76 views
-2

我按照从官方安卓网站的指示 创建我的第一个Android应用程序。问题 - 当我点击按钮来“增加或减少”数量时,应用程序崩溃。应用程序崩溃,当我点击按钮,我做了增量或减量的数量

logcat的

W/ResourceType: No package identifier when getting value for resource number 0x00000001 
D/AndroidRuntime: Shutting down VM 
E/AndroidRuntime: FATAL EXCEPTION: main 
       Process: com.example.yash.myapplication, PID: 29603 
       java.lang.IllegalStateException: Could not execute method for android:onClick 
        at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:293) 
        at android.view.View.performClick(View.java:5207) 
        at android.view.View$PerformClick.run(View.java:21168) 
        at android.os.Handler.handleCallback(Handler.java:746) 
        at android.os.Handler.dispatchMessage(Handler.java:95) 
        at android.os.Looper.loop(Looper.java:148) 
        at android.app.ActivityThread.main(ActivityThread.java:5443) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
       Caused by: java.lang.reflect.InvocationTargetException 
        at java.lang.reflect.Method.invoke(Native Method) 
        at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288) 
        at android.view.View.performClick(View.java:5207)  
        at android.view.View$PerformClick.run(View.java:21168)  
        at android.os.Handler.handleCallback(Handler.java:746)  
        at android.os.Handler.dispatchMessage(Handler.java:95)  
        at android.os.Looper.loop(Looper.java:148)  
        at android.app.ActivityThread.main(ActivityThread.java:5443)  
        at java.lang.reflect.Method.invoke(Native Method)  
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)  
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)  
       Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x1 
        at android.content.res.Resources.getText(Resources.java:312) 
        at android.widget.TextView.setText(TextView.java:4427) 
        at com.example.yash.myapplication.MainActivity.display(MainActivity.java:57) 
        at com.example.yash.myapplication.MainActivity.IncrementQuantity(MainActivity.java:21) 
        at java.lang.reflect.Method.invoke(Native Method)  
        at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288)  
        at android.view.View.performClick(View.java:5207)  
        at android.view.View$PerformClick.run(View.java:21168)  
        at android.os.Handler.handleCallback(Handler.java:746)  
        at android.os.Handler.dispatchMessage(Handler.java:95)  
        at android.os.Looper.loop(Looper.java:148)  
        at android.app.ActivityThread.main(ActivityThread.java:5443)  
        at java.lang.reflect.Method.invoke(Native Method)  
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)  
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)  
I/Process: Sending signal. PID: 29603 SIG: 9 

任何一个可以说为什么会这样???

+0

MainActivity.java'package com.example.yash.myapplication; import android.os.Build; import android.os.Bundle; import android.support.annotation.RequiresApi; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.CheckBox; import android.widget.TextView; 公共类MainActivity扩展AppCompatActivity {int}数量= 0; @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } – Yash1451

+0

public void IncrementQuantity(View view){ quantity = quantity + 1;显示(数量); } public void DecrementQuantity(View view){ quantity = quantity-1;显示(数量); } – Yash1451

+2

把源代码放在你的问题中,这样你就可以阅读它。 – Axel

回答

0

您试图使用不存在或未正确键入的ID访问资源。

内,您的显示功能:

产生的原因:android.content.res.Resources $ NotFoundException:在android.content.res.Resources.getText字符串 资源编号为0x1 (Resources.java :312) at com.example.yash.myapplication.MainActivity com.example.yash.myapplication.MainActivity.display(MainActivity.java:57) android.widget.TextView.setText(TextView.java:4427) .IncrementQuantity(MainActivity.java:21)

当您为TextView创建句柄时,您可能使用了错误的ID。 TextView textView=(TextView)findViewById(R.id.quantity_textView);

确保quantity_textView存在。如果您知道该ID是正确的,请确保在您使用的布局文件中android:id="@+id/quantity_textView"

请确保您将代码复制到问题中以使其可读。

+0

**在android.widget.TextView.setText ** ... findViewById不是问题 –

+0

哈哈是的,你是对的。我的回答是模糊的 –

+0

现在要添加正确答案已经太迟了,我想!哎呦 –

相关问题