为了账号安全,请及时绑定邮箱和手机立即绑定

setText无法在TextView中将数字显示为文本

setText无法在TextView中将数字显示为文本

小怪兽爱吃肉 2019-11-21 09:41:44
我有4个按钮和1个TextView。我希望每个按钮都可以从TextView中的值(解析为int)中添加或减去一个不同的数量。当我单击其中一个按钮时,它会引发致命错误(在下面列出)。我搜索了其他Stackoverflow讨论,但似乎没有任何效果。这是我当前的活动:public class PaydownSnowball extends Activity {int aAmt;String debtExtraPayment;@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.snowball);    final Button plusTen = (Button) findViewById(R.id.buttonp10);    final Button plusFive = (Button) findViewById(R.id.buttonp5);    final Button minusFive = (Button) findViewById(R.id.buttonm5);    final Button minusTen = (Button) findViewById(R.id.buttonm10);    SharedPreferences sharedPref= getSharedPreferences("chaosdatasnowball", 0);    debtExtraPayment = sharedPref.getString("debtExtraPayment", null);    debtExtraPayment ="0";    TextView addAmount = (TextView) findViewById(R.id.dispAddAmt);    addAmount.setText(debtExtraPayment);    aAmt = Integer.parseInt(debtExtraPayment);    plusTen.setOnClickListener(new OnClickListener() {        public void onClick(View v) {          aAmt = aAmt + 10;          TextView addAmount = (TextView) findViewById(R.id.dispAddAmt);          addAmount.setText(aAmt);        }      });    plusFive.setOnClickListener(new OnClickListener() {        public void onClick(View v) {          aAmt = aAmt + 5;          TextView addAmount = (TextView) findViewById(R.id.dispAddAmt);          addAmount.setText(aAmt);        }      });    minusTen.setOnClickListener(new OnClickListener() {        public void onClick(View v) {          aAmt = aAmt - 10;          TextView addAmount = (TextView) findViewById(R.id.dispAddAmt);          addAmount.setText(aAmt);        }      });    minusFive.setOnClickListener(new OnClickListener() {        public void onClick(View v) {          aAmt = aAmt - 5;          TextView addAmount = (TextView) findViewById(R.id.dispAddAmt);          addAmount.setText(aAmt);        }      });
查看完整描述

3 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

问题是这样的线


addAmount.setText(aAmt);

哪里aAmt是int。这会寻找resource与id无关aAmt的。您需要String先将其转换为


addAmount.setText(String.valueOf(aAmt));

有重载的setText()方法。


查看完整回答
反对 回复 2019-11-21
?
炎炎设计

TA贡献1808条经验 获得超4个赞

您可以尝试以下两种方法之一:

  1. addAmount.setText("" + aAmt);

  2. addAmount.setText(String.valueOf(aAmt));

您会得到一个String结果,没有任何错误。


查看完整回答
反对 回复 2019-11-21
?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

有多种方法可以完成此操作。关键是String要在这里实现目标。我通常使用发布的方式,因为我认为它更清楚地说明了正在发生的事情,但是有几种方法可以实现它

查看完整回答
反对 回复 2019-11-21
  • 3 回答
  • 0 关注
  • 671 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信