android - 应用程序在尝试执行“+”运算符时不断崩溃
问题描述
我正在开发一个 Android 项目。在尝试为我的应用程序制作正负系统时,我的手机不断崩溃,要求我报告错误。我觉得这段代码很简单,在Android Studio中也没有显示任何错误,所以请看一下。我想尽快收到任何人的来信!
Button btnPlus = findViewById(R.id.btnPlus);
btnPlus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final EditText input = findViewById(R.id.input);
int number = Integer.parseInt((input.getText()).toString());
number = number + 1;
String full = getString(number);
input.setText(full);
}
});
解决方案
每次调用 onClick 时,您都会对输入的 EditText 进行膨胀,并且您正在尝试从中获取 null 的文本,因为您只是对其进行了膨胀,这就是为什么您无法从中解析或添加 Integer 的原因。
去做:
EditText input = findViewById(R.id.input); //inflated only once, earlier
Button btnPlus = findViewById(R.id.btnPlus);
btnPlus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int number = Integer.parseInt((input.getText()).toString());
number = number + 1;
String full = getString(number);
input.setText(full);
}
});
推荐阅读
- php - 在 PHP (openssl) 中加密字符串;然后在python3中解密
- java - 这些 java 类是否具有从 JSON 文件映射的正确结构?
- sublimetext3 - 崇高的文字:用增量号替换
- pyspark - 从 pyspark 数据框中的两列中排列记录
- h2 - 避免在 H2 中使用 parsedatetime?
- r - 如何用 R 中的区间端点的平均值替换字符串中的数字区间?
- regex - 跳过数组和循环中的值并直接显示在输出中
- android - Ionic2-Calendar 现在在设备上失败
- ajax - 等待 AJAX 调用未按预期工作
- python - “简单”聚类的最快方法?