簡體   English   中英

將字符串從EditText轉換為Integer

[英]Converting String from EditText to Integer

請幫我,我的應用程序崩潰了,我不知道我在做什么錯,我認為錯誤是將String從EditText轉換為Integer。

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的開頭解析一個空的String 為了解決此問題,將您的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);

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM