Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将textview中的数字转换为int_Java_Android_Textview_Int_Type Conversion - Fatal编程技术网

Java 将textview中的数字转换为int

Java 将textview中的数字转换为int,java,android,textview,int,type-conversion,Java,Android,Textview,Int,Type Conversion,所以,我在玩java/android编程,现在我正在尝试制作一个真正基本的计算器。不过我对这个问题很感兴趣。这是我现在的代码,用于获取文本视图中的数字并将其设置为int CharSequence value1 = getText(R.id.textView); int num1 = Integer.parseInt(value1.toString()); 从我可以看出,是第二行导致了错误,但我不确定它为什么会这样做。它正在编译,但当它试图运行程序的这一部分时,它会使我的应用程序崩溃。文本视图

所以,我在玩java/android编程,现在我正在尝试制作一个真正基本的计算器。不过我对这个问题很感兴趣。这是我现在的代码,用于获取文本视图中的数字并将其设置为int

CharSequence value1 = getText(R.id.textView);
int num1 =  Integer.parseInt(value1.toString());
从我可以看出,是第二行导致了错误,但我不确定它为什么会这样做。它正在编译,但当它试图运行程序的这一部分时,它会使我的应用程序崩溃。文本视图中只有数字

有什么建议吗


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

您可以阅读的用法

TextView tv = (TextView)findviewbyID(R.id.textView);
int num = Integer.valueOf(tv.getText().toString());
如何申报:

TextView tv;
初始化它:

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

或者,如果您正在膨胀布局

tv = (TextView) inflatedView.findViewById(R.id.textView);
要将字符串设置为
tv
,请使用
tv.setText(一些字符串)
tv.setText(“此字符串”)
。如果需要设置整数值,请使用
tv.setText(“+5)
,因为setText()是一个重载方法,可以处理字符串和int参数

要从
tv
获取值,请使用
tv.getText()

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

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

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

此代码实际上工作得更好:

//this code to increment the value in the text view by 1

TextView quantityTextView = (TextView)findViewById(R.id.quantity_text_view);
        CharSequence v1=quantityTextView.getText();
        int q=Integer.parseInt(v1.toString());
        q+=1;
        quantityTextView.setText(q +"");


//I hope u like this

以下是kotlin版本:

var value = textview.text.toString().toIntOrNull() ?: 0

建议:阅读(并发布)错误。您可以共享更详细的代码吗?并发布从
getText()
返回的值。不要忘记捕获异常,因为TextView中的文本可能不是有效数字。如Gaurav所说:int num=Integer.parseInt(tv.getText().toString());
//this code to increment the value in the text view by 1

TextView quantityTextView = (TextView)findViewById(R.id.quantity_text_view);
        CharSequence v1=quantityTextView.getText();
        int q=Integer.parseInt(v1.toString());
        q+=1;
        quantityTextView.setText(q +"");


//I hope u like this
var value = textview.text.toString().toIntOrNull() ?: 0