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

我有4个按钮和1个TextView。我希望每个按钮都可以从TextView中的值(解析为int)中添加或减去一个不同的数量。当我单击其中一个按钮时,它会引发致命错误(在下面列出)。我搜索了其他Stackoverflow讨论,但似乎没有任何效果。这是我当前的活动:


public class PaydownSnowball extends Activity {

int aAmt;

String debtExtraPayment;


@Override

protected 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);

        }

      });

小怪兽爱吃肉
浏览 682回答 3
3回答

守着一只汪

问题是这样的线addAmount.setText(aAmt);哪里aAmt是int。这会寻找resource与id无关aAmt的。您需要String先将其转换为addAmount.setText(String.valueOf(aAmt));有重载的setText()方法。

炎炎设计

您可以尝试以下两种方法之一:addAmount.setText("" + aAmt);addAmount.setText(String.valueOf(aAmt));您会得到一个String结果,没有任何错误。

一只甜甜圈

有多种方法可以完成此操作。关键是String要在这里实现目标。我通常使用发布的方式,因为我认为它更清楚地说明了正在发生的事情,但是有几种方法可以实现它
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android