将文本视图中的数字转换为整型

2022-09-03 18:09:37

所以,我正在搞砸java / android编程,现在我正试图制作一个非常基本的计算器。不过,我在这个问题上挂了电话。这是我现在拥有的代码,用于获取文本视图中的数字并使其成为int

CharSequence value1 = getText(R.id.textView);
int num1 =  Integer.parseInt(value1.toString());

据我所知,这是导致错误的第二行,但我不确定为什么会这样做。它编译正常,但是当它尝试运行程序的这一部分时,它会崩溃我的应用程序。文本视图中唯一的东西是数字

有什么建议吗?

如有必要,我还可以提供更多的代码


答案 1

您可以阅读TextView的用法。

如何声明:

TextView tv;

初始化它:

tv = (TextView) findViewById(R.id.textView);

艺术

tv = new TextView(MyActivity.this);

或者,如果您正在夸大布局,

tv = (TextView) inflatedView.findViewById(R.id.textView);

要将字符串设置为 ,请使用 或 。如果需要设置整数值,请使用 as setText() 是一个重载方法,可以处理字符串和 int 参数。tvtv.setText(some_string)tv.setText("this_string")tv.setText("" + 5)

要从中获取值,请使用 。tvtv.getText()

始终检查解析器是否可以处理可以提供的可能值。如果尝试解析空字符串 (“”),则会引发 A。或者,如果您尝试解析 .textView.getText().toString()NumberFormatException.

String tvValue = tv.getText().toString();

if (!tvValue.equals("") && !tvValue.equals(......)) {
    int num1 = Integer.parseInt(tvValue);
}

答案 2
TextView tv = (TextView)findviewbyID(R.id.textView);
int num = Integer.valueOf(tv.getText().toString());