Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.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 将字符串从EditText转换为整数_Java_Android - Fatal编程技术网

Java 将字符串从EditText转换为整数

Java 将字符串从EditText转换为整数,java,android,Java,Android,请帮助我,我的应用程序正在崩溃,我不知道我做错了什么我认为错误在于将字符串从EditText转换为整数 package com.example.talha.int_test; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText

请帮助我,我的应用程序正在崩溃,我不知道我做错了什么我认为错误在于将字符串从EditText转换为整数

package com.example.talha.int_test;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

EditText e1;
TextView t1;
Button b1;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    e1 = (EditText)findViewById(R.id.editText);
    t1 = (TextView)findViewById(R.id.textView);
    b1 = (Button)findViewById(R.id.button);

    final int a = Integer.parseInt(e1.getText().toString());

    b1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            t1.setText("Value in A: "+a);
        }
    });

您将获得一个
NumberFormatException
,因为您试图在
onCreate
的开头解析一个空的
字符串。要解决此问题,请将您的
parseInt
移动到
b1
的单击侦听器中,如下所示

b1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

        int a = Integer.parseInt(e1.getText().toString());
        t1.setText("Value in A: "+a);
    }
});
请记住,您的
EditText
可能应该有
inputType=“number”
,或者用户可以在其中输入任何内容。然后你必须使用
try catch
来避免可能的应用程序崩溃

 e1.getText().tostring it returns "" which is empty string hence you can't convert it to integer so make sure  it is not empty 

  String x=e1.getText.toString();
  If(!x.isEmpty() &&  x.length()>1){
 //Now parse your string here
  final int a= Integer.parseInt(x);

}

您会遇到什么错误?每次我运行它时,它都会崩溃。您能在logcat中找到任何东西吗。。?