Ich versuche, mich selbst zu lehren, wie Android-Apps zu schreiben und ich habe Probleme beim Registrieren einer Schaltfläche Klicken und Ausführen von Aktionen basierend auf welche Optionsfeld ausgewählt ist zu der Zeit . Dies ist ein einfacher Tipp Rechner:Android - Register-Taste klicken und Maßnahmen ergreifen basierend auf Radio-Auswahl
import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.TextView;
import android.widget.RadioGroup;
import android.view.View;
public class TipCalc extends Activity implements RadioGroup.OnCheckedChangeListener,View.OnClickListener
{
TextView result;
RadioGroup radiogroup1;
RadioButton r1,r2,r3;
Button calculate;
EditText bill, resulttotal;
private int radioCheckedId = -1;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
radiogroup1 = (RadioGroup) findViewById(R.id.radiogroup1);
Button calculate = (Button) findViewById(R.id.calculate);
RadioButton r1 = (RadioButton) findViewById(R.id.poor);
RadioButton r2 = (RadioButton) findViewById(R.id.average);
RadioButton r3 = (RadioButton) findViewById(R.id.excellent);
EditText bill = new EditText(this);
EditText resulttotal = new EditText(this);
radiogroup1.setOnCheckedChangeListener(this);
calculate.setOnClickListener(this);
//bill.setText("0");
//resulttotal.setText("0");
}
public void onCheckedChanged(RadioGroup group, int checkedId) {
radioCheckedId = checkedId;
}
public void onClick(View v)
{
if (v == calculate)
{
String billtotal;
double total = 0;
billtotal = bill.getText().toString();
final int aInt = Integer.parseInt(billtotal);
if (radioCheckedId == 1)
{
total = aInt * 1.1;
final String aString = Double.toString(total);
resulttotal.setText(aString);
}
if (radioCheckedId == 2)
{
total = aInt * 1.15;
final String aString = Double.toString(total);
resulttotal.setText(aString);
}
if (radioCheckedId == 3)
{
total = aInt * 1.2;
final String aString = Double.toString(total);
resulttotal.setText(aString);
}
}
}
}
Alles lädt gut, aber nichts passiert, wenn ich die Schaltfläche Berechnen im virtuellen Telefon drücken.
Sie es dazu bedeuten verändern? EditText bill = (EditText) findViewById (R.id.Rechnung); EditText resulttotal = (BearbeitenText) findViewById (R.id.resulttotal); – MaQleod
Das ist ein Problem, aber es ist ** NICHT ** das Problem. –
Welche Nachteile entstehen, wenn Sie sie dem aktuellen Layout hinzufügen und nicht als Kinder? – MaQleod