我有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()方法。
炎炎设计
TA贡献1808条经验 获得超4个赞
您可以尝试以下两种方法之一:
addAmount.setText("" + aAmt);
addAmount.setText(String.valueOf(aAmt));
您会得到一个String结果,没有任何错误。
一只甜甜圈
TA贡献1836条经验 获得超5个赞
有多种方法可以完成此操作。关键是String
要在这里实现目标。我通常使用发布的方式,因为我认为它更清楚地说明了正在发生的事情,但是有几种方法可以实现它
- 3 回答
- 0 关注
- 671 浏览
添加回答
举报
0/150
提交
取消