2017-03-22 9 views
-1

Bitte helfen Sie mir meine Anwendung Crashed immer weiß ich nicht, was ich falsch mache Ich denke Fehler String aus EditText in Integer umzuwandeln.Konvertieren von String aus 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); 
     } 
    }); 
+0

Welche Fehler bekommen Sie? – TDG

+0

jedes Mal, wenn ich es laufe, wird es abgestürzt –

+0

Sind Sie in der Lage, etwas in Logcat zu finden ..? –

Antwort

0
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); 

}

3

Sie erhalten eine NumberFormatException, weil Sie eine leere String zu Beginn der onCreate zu analysieren versuchen. Um dies zu beheben Ihre parseInt in den Klick-Listener von b1 wie dies im Auge behalten

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

     int a = Integer.parseInt(e1.getText().toString()); 
     t1.setText("Value in A: "+a); 
    } 
}); 

bewegen, die Ihre EditText wahrscheinlich inputType="number" oder der Benutzer kann irgendetwas hinein haben sollten setzen. Dann müssen Sie try-catch verwenden, um mögliche App-Abstürze zu vermeiden.

+0

@TalhaShaikh Alles klar, wenn diese Antwort Ihr Problem lösen könnte, könnten Sie es als akzeptiert markieren? –