Entwickeln meiner ersten Android-Rechner-Anwendung, gelang es mir eine TextView in einer neuen Aktivität zu aktualisieren, indem Sie die Antwort über eine Absicht, aber dies erfordert den Benutzer zurück zu schlagen um eine weitere Berechnung durchzuführen. Ich versuche, die doCalculation-Schaltfläche ein einfaches TextView in der MainActivity zu aktualisieren und den Fehler zu erhalten:android.widget.Button kann nicht in android.widget.EditText umgewandelt werden
06-22 11: 08: 17.318: E/AndroidRuntime (31328): Verursacht von: java.lang.ClassCastException: android.widget.Button kann nicht auf android.widget.EditText gegossen werden
hier ist mein Code:
/** Called when the user clicks the Calculate! button */
public void doCalculation(View view) {
// Do something in response to button
int answerInt;
String answer;
EditText numberOne = (EditText) findViewById(R.id.number1);
EditText numberTwo = (EditText) findViewById(R.id.number2);
int numberOnee = Integer.parseInt(numberOne.getText().toString());
int numberTwoo = Integer.parseInt(numberTwo.getText().toString());
answerInt = numberOnee * numberTwoo;
answer = Integer.toString(answerInt);
TextView homeAnswerView = (TextView) findViewById(R.id.homeAnswerView);
homeAnswerView.setTextSize(40);
homeAnswerView.setText(answer);
}
als Referenz, hier ist der Code, der erfolgreich eine neue Aktivität startet gearbeitet:
// Called when the user clicks the Calculate! button
public void doCalculation(View view) {
// Do something in response to button
int answerInt;
String answer;
Intent intent = new Intent(this, DisplayCalculationActivity.class);
EditText numberOne = (EditText) findViewById(R.id.number1);
EditText numberTwo = (EditText) findViewById(R.id.number2);
int numberOnee = Integer.parseInt(numberOne.getText().toString());
int numberTwoo = Integer.parseInt(numberTwo.getText().toString());
answerInt = numberOnee * numberTwoo;
answer = Integer.toString(answerInt);
intent.putExtra(EXTRA_MESSAGE, answer);
startActivity(intent);
}
Referenz
UPDATE, die XML für:
<EditText
android:id="@+id/number2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView3"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp"
android:ems="10"
android:inputType="number" />
<EditText
android:id="@+id/number1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_centerHorizontal="true"
android:ems="10"
android:inputType="number"
android:singleLine="true" />
<Button
android:id="@+id/calculateBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/number2"
android:layout_alignRight="@+id/number2"
android:layout_below="@+id/number2"
android:layout_marginTop="14dp"
android:onClick="doCalculation"
android:text="Calculate!" />
Danke für Ihre Hilfe, -Michael
Danke für die schnelle Antwort. Bestätigen beide sind EditText. – Michael
XML-Code als Referenz hinzugefügt. Button-ID ist @ + ID/CalculateBtn – Michael
Können Sie Ihre gesamte XML-Datei anzeigen? – Oleksiy