2013-02-23 12 views
9

Ich frage mich, wie ein EditText Eingang in einen int konvertieren, ich die Benutzereingabe eine Nummer haben, als sie teilt es durch 8.EditText in int konvertieren? (Android)

MainActivity.java

@SuppressWarnings("unused") 
public void calcSpeed(View view) 
{  
    setContentView(R.layout.activity_speed);  

    final TextView mTextView = (TextView) findViewById(R.id.textView3); 
    mTextView.setText("You should be getting: " +netSpedCalcd); 
} 

activity_main.xml

<EditText 
    android:id="@+id/editText1" 
    android:inputType="number" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentTop="true" 
    android:layout_marginTop="62dp" 
    android:ems="10" > 
+0

sehen diese Antwort http://stackoverflow.com/questions/4903515/how-do-i-return-an-int-from -edittext-android –

Antwort

3

ich bin sehr schläfrig und müde jetzt aber würde dieses Werk ?:

EditText et = (EditText)findViewById(R.id.editText1); 
String sTextFromET = et.getText().toString(); 
int nIntFromET = new Integer(sTextFromET).intValue(); 

OR

try 
{ 
    int nIntFromET = Integer.parseInt(sTextFromET); 
} 
catch (NumberFormatException e) 
{ 
    // handle the exception 
} 
+0

Für die erste, sagte es "et kann nicht gelöst werden" Für die zweite sagte es "Integer.parseInt kann nicht zu einem Typ aufgelöst werden" – user2101454

+0

Ich habe die Antwort bearbeitet (wartet auf Peer-Review), aber die Problem mit dem zweiten Fall ist das falsche "neue", einfach das entfernen. –

+0

In Ordnung, für die sTextFromET, sagt es "sTextFromET kann nicht in eine Variable aufgelöst werden", was soll ich tun? (Sorry, ich bin neu in Java und Programmierung im Allgemeinen.) – user2101454

8

Verwenden Integer.parseInt, und stellen Sie sicher, dass Sie die Number fangen, dass es aus, wenn die Eingabe nicht eine ganze Zahl ist.

7

müssen Sie verwendet werden.

String value= et.getText().toString(); 
int finalValue=Integer.parseInt(value); 
String value= et.getText().toString(); 
int finalValue=Integer.parseInt(value); 

Wenn Sie nur die Eingabe der Nummer erlauben, dann setzen Sie die Eigenschaft EditText.

android:inputType="number" 

Wenn das hilfreich ist, dann akzeptieren Sie andernfalls Ihren Kommentar.

+0

Es sagte "et kann nicht gelöst werden" – user2101454

+0

kann verwenden Sie Ihren Code einfügen? – Harshid

+0

EditText et = (EditText) findViewById (R.id.ettext); so was. – Harshid

1

Versuchen Sie, diese

EditText x = (EditText) findViewById(R.id.editText1); 
int n = Integer.parseInt(x.toString()); 
+0

[Garantiert nicht funktionieren] (http://developer.android.com/reference/java/lang/Object.html#toString()). Der Link ist ein Hinweis. –

0

die Zeile unter Versuchen editText zu konvertieren integer zu.

int intVal = Integer.parseInt(mEtValue.getText().toString()); 
0

Ich hatte das gleiche Problem selbst. Ich bin mir nicht sicher, ob Sie es bekommen, obwohl zu arbeiten, aber was ich hatte, war:

EditText cypherInput; 
cypherInput = (EditText)findViewById(R.id.input_cipherValue); 
int cypher = Integer.parseInt(cypherInput.getText().toString()); 

Die dritte Zeile Code der App, ohne die .getText() vor dem .toString() zum Absturz verursacht .

Gerade als Referenz, hier ist meine XML:

<EditText 
    android:id="@+id/input_cipherValue" 
    android:inputType="number" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" /> 
0
int total_Parson = Integer.parseInt(etRegularTickets.getText().toString()); 
int ticket_price=Integer.parseInt(TicketData.get(0).getTicket_price_regular()); 
total_ticket_amount = ticket_price * total_Parson; 
etRegularPrice.setText(""+total_ticket_amount);