我是一个java初学者,但我试图构建练习,我遇到了这个问题。用户输入捐赠,按下按钮,捐赠的值就会增加。我写了整个代码,但当我点击按钮添加捐款计数时,应用程序崩溃了。我遵循老师的所有教诲。我在活动中创建了一个方法,在ui构建器中,我转到单击按钮属性并将其设置为该方法。它应该很顺利,但每当我点击按钮时,它就崩溃了。这是我的活动,我将onClick属性设置为ComputeDoniversity。
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);
}
Ive甚至尝试不使用数字格式,只是想看看它是否会返回到活动中,但它没有。顺便说一句,对于我的课程,我使用的是一个旧版本的android Studio。
这是logcat:
看起来您的textAdded是一个空字符串,这会导致NumberFormatException并使应用程序崩溃。要防止这种情况发生,可以做的是在解析textAdded之前检查它是否为空:
public String calcDonation() {
if (TextUtils.isEmpty(textAdded)) {
//textAdded is empty, so just return an empty String
return "";
}
//We're sure that textAdded has a value, so we can try to parse it
double counter = Double.parseDouble(textAdded);
addedDonation += counter;
Locale locale = new Locale("en", "CA");
NumberFormat fmt = NumberFormat.getCurrencyInstance(locale);
return fmt.format(addedDonation);
}
或者只是防止在用户在EditText视图中输入值之前调用该方法:
public void computeDonation(View v){
String addedText = ((EditText)findViewById(R.id.AmountText)).getText().toString();
if (TextUtils.isEmpty(textAdded)) {
Toast.makeText(context, "Please enter a valid number", Toast.LENGTH_SHORT).show();
} else {
DonationModel donation = new DonationModel(addedText);
String answer = donation.calcDonation();
((TextView)findViewById(R.id.totalText)).setText(answer);
}
}
} 以下是我从logcat收到的错误:
在logcat我看到了这个- 需要关于发生了什么以及如何解决的建议。我使用的是android studio北极狐2020.3.1补丁3。
这是崩溃错误logcat,每次我时钟在我的寄存器btn应用程序崩溃。 我的模拟器是在Android模拟器设备上的2gb ram。 2019-09-22 16:36:39.307 6454-6454/com。康奈克斯。connexsocial E/AndroidRuntime:致命异常:主进程:com。康奈克斯。connexsocial,PID:6454Android系统。所容纳之物Activity
每次我点击按钮1,我的应用程序就会崩溃。同一活动中的另一个按钮可以正常工作。我已经试过更换按钮和代码了。控制台中没有错误。
问题内容: 我一直试图在Eclipse中制作我的第一个android应用程序(一个简单的温度转换器),但是当我单击手机上的按钮时,该应用程序崩溃了。这是完整的Java代码 单击按钮时的LogCat 最后是按钮的xml 我不确定如何解决此问题,因此希望有人可以提供帮助。谢谢。 问题答案: 首先初始化您的按钮,然后将onclicklistener设置为它们 同样设置另一个按钮
我一直在自己编程一个应用程序,但每次我点击一个按钮,它就会遇到一些问题(因为问题出在它的OnCreate方法上)。我把它缩小到我认为是什么原因,似乎是这条线: