P
paulinchen
Gast
Hallo,
ich habe hier ein kleines Problem mit dem OnClickListener, zumindest glaube ich das es daran liegt.
In meinem Programm soll geprüft werden, ob im EditText "LaengeText" etwas eingegeben wurde und falls da was eingegeben wurde soll eine andere Berechnung durchgeführt werden, als wenn in dem Textfeld nichts verändert wurde.
Problem ist, das dieses besagte Feld manchmal das Ergebnisfeld und manchmal das Eingabefeld sein soll.
Klappt eigentlich auch, nur eben immer erst beim zweiten Mal den Berechnen Button drücken. Ich finde aber nicht raus wieso.
Vielleicht hat ja auch jemand ne andere Idee wie man das lösen kann...
ich habe hier ein kleines Problem mit dem OnClickListener, zumindest glaube ich das es daran liegt.
In meinem Programm soll geprüft werden, ob im EditText "LaengeText" etwas eingegeben wurde und falls da was eingegeben wurde soll eine andere Berechnung durchgeführt werden, als wenn in dem Textfeld nichts verändert wurde.
Problem ist, das dieses besagte Feld manchmal das Ergebnisfeld und manchmal das Eingabefeld sein soll.
Klappt eigentlich auch, nur eben immer erst beim zweiten Mal den Berechnen Button drücken. Ich finde aber nicht raus wieso.
Code:
public class matcalc extends Activity {
private Spinner sF;
private Spinner sE;
private EditText Erg;
private int H;
private int M;
private double S;
private double E;
public int L;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
sF = (Spinner) findViewById(R.id.FormatSpinner);
ArrayAdapter <?> adapter = ArrayAdapter.createFromResource(
this, R.array.Formate, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sF.setAdapter(adapter);
sE = (Spinner) findViewById(R.id.EinheitSpinner);
ArrayAdapter <?> adapter2 = ArrayAdapter.createFromResource(
this, R.array.Einheit, android.R.layout.simple_spinner_item);
adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sE.setAdapter(adapter2);
Erg = (EditText) findViewById (R.id.LaengeText);
Erg.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (Erg.getText().toString().equals("")){
L = 0;}
else{
L = 1;}
}
});
Button btn = (Button) findViewById (R.id.Berechne);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
sF.setOnItemSelectedListener(new FormatSpinnerListener());
sE.setOnItemSelectedListener(new EinheitSpinnerListener());
EditText HS = (EditText) findViewById (R.id.StundenText);
if (HS.getText().toString().equals("")){
H = 0;
}
else {
H = Integer.parseInt(HS.getText().toString());}
EditText MS = (EditText) findViewById (R.id.MinutenText);
if (MS.getText().toString().equals("")){
M = 0;
}
else {
M = Integer.parseInt(MS.getText().toString());}
EditText SS = (EditText) findViewById (R.id.SekundenText);
if (SS.getText().toString().equals("")){
S = 0;
}
else {
S = Double.parseDouble(SS.getText().toString());}
EditText FS = (EditText) findViewById (R.id.FramesText);
if (FS.getText().toString().equals("")){
FS.setText("24");
}
double F = Double.parseDouble(FS.getText().toString());
if (L == 1){
E = Double.parseDouble(Erg.getText().toString());
E = E*FormatSpinnerListener.format/F;
E = E/EinheitSpinnerListener.einheit;
double Sd = E % 60;
double x = E/60;
double Md = x % 60;
double Hd = x/60;
Sd = Double.valueOf(Math.round(Sd*100.)/100.);
SS.setText(Double.toString(Sd));
MS.setText(Integer.toString((int)Md));
HS.setText(Integer.toString((int)Hd));
L = 0;
}
else{
E = 0;
H = H*60;
M = (M+H)*60;
E = (S+M)*EinheitSpinnerListener.einheit*F/FormatSpinnerListener.format;
E = Double.valueOf(Math.round(E*100.)/100.);
Erg.setText(Double.toString(E));}
}
});
}
}