android 点击button不能新建thread,Android Studio应用在按钮点击后不断崩溃

我是一名初学者,但我尝试构建练习,并遇到了这个问题。用户输入捐款,按下按钮和捐款增值。我写了整个代码,但是当我点击按钮添加到捐款计数,应用程序崩溃。我遵循了我老师的所有教导。我在活动中创建了一个方法,在ui构建器中,我通过点击属性中的按钮并将其设置为该方法。它应该顺利,但是当我点击按钮时它会崩溃。这是我将onClick属性设置为computeDonation的活动。Android Studio应用在按钮点击后不断崩溃

public void computeDonation(View v){

String addedText = ((EditText)findViewById(R.id.AmountText)).getText().toString();

DonationModel donation = new DonationModel(addedText);

String answer = donation.calcDonation();

((TextView)findViewById(R.id.totalText)).setText(answer);}

这是模型:

String textAdded;

double addedDonation;

public DonationModel(String y){

textAdded = y;

}

public String calcDonation(){

double counter = Double.parseDouble(textAdded);

addedDonation += counter;

Locale locale = new Locale("en", "CA");

NumberFormat fmt = NumberFormat.getCurrencyInstance(locale);

return fmt.format(addedDonation);

}

伊夫甚至试图未经数字格式只是为了看它是否发回活动,但事实并非如此。顺便说一句我的课我正在使用旧版的android studio。

这是logcat的: 02-15 17:12:28.797 21619-21619/ca.roumani.donations E/AndroidRuntime:致命异常:主 工艺:ca.roumani.donations,PID:21619 的java。 lang.IllegalStateException:无法执行Android的android方法:onClick at android.support.v7.app.AppCompatViewInflater $ DeclaredOnClickListener.onClick(AppCompatViewInflater.java:293) at android.view.View.performClick(View.java:5197) at android.view.View $ PerformClick.run(View.java:20909) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:145) at android.app.ActivityThread.main(ActivityThread.java:5942) at java .lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java: 1399) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194) 产生的原因:在在java.lang.reflect.Method.invoke(本机方法) java.lang.reflect.InvocationTargetException java.lang.reflect.Method.in voke(Method.java:372) at android.support.v7.app.AppCompatViewInflater $ DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288) at android.view.View.performClick(View.java:5197) at android。 view.View在android.os.Handler.dispatchMessage(Handler.java:95) 上的android.os.Handler.handleCallback(Handler.java:739) (View.java:20909) 。 os.Looper.loop(Looper.java:145) at android.app.ActivityThread.main(ActivityThread.java:5942) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect .Method.invok e(Method.java:372) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1399) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194) 由于:java.lang.NumberFormatException:无效的双精度:“” at java.lang.StringToReal.invalidReal(StringToReal.java:63) at java.lang.StringToReal.parseDouble(StringToReal.java:267) at java .lang。Double.parseDouble(Double.java:301) at ca.roumani.donations.DonationModel.calcDonation(DonationModel.java:20) at ca.roumani.donations.DonationActivity.computeDonation(DonationActivity.java:24) at java。 lang.reflect.Method.invoke(Native Method) at android.support.v7.app.AppCompatViewInflater $ DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288)java.lang.reflect.Method.invoke(Method.java:372) ) at android.view.View.performClick(View.java:5197) at android.view.View $ PerformClick.run(View.java:20909) at android.os.Handler.handleCallback(Handler.java:739 ) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:145) at android.app.ActivityThread.main(ActivityThread.java:5942) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java :1399) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)

2017-02-15

Chris

+0

我敢打赌你有'NullPointerException'。发布你的logcat。 –

+0

我复制并粘贴了全部为红色的logcat –

+0

只是一个猜测:尝试Locale locale = new Locale(“en_CA”) –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值