【发布时间】:2017-06-13 20:42:08
【问题描述】:
我的代码如下所示。在程序的早期,我让用户输入一个 int 金额并将其传递到文本视图中,这样他们就可以查看金额而不再对其进行编辑。
现在,我正试图从同一个文本视图中获取一个 int。问题是接受金额的 int 在不同的函数中,所以我不能只使用那个 int。
这是为了创建 int balRem,“找到”文本视图框,读取文本视图中的内容,最后将 balRem 中的 in 作为银行文本视图中“余额”的 int。
我这里有代码,以及下面列出的错误代码的主要行。列出的第三行出现错误。
int balRem;
TextView bankBal = (TextView) findViewById(R.id.bankBal);
//String balRemStr = bankBal.toString();
balRem = Integer.parseInt(bankBal.toString());
java.lang.IllegalStateException: 无法为 android:onClick 执行方法
原因:java.lang.reflect.InvocationTargetException
引起:java.lang.NumberFormatException:对于输入字符串:“android.support.v7.widget.AppCompatTextView{aeb8167 V.ED..... ........ 1037,448-1251, 539 #7f0d0082 应用程序:id/bankBal}"
编辑 - 解决欺骗,见评论。
@avojak 不,不是。这里的问题是数字的来源,而不是数字本身。 – EJP
【问题讨论】:
-
使用
TextView.getText()或任何正确的API 将文本从文本视图中取出。不是toString()。 -
@EJP 谢谢!那行得通,有一个变化。它需要'balRem = Integer.parseInt(bankBal.getText().toString());'去工作。感谢您的帮助。
-
@avojak 不,不是。这里的问题是数字的来源,而不是数字本身。
标签: java android integer parseint