Ich mache einen Rechner für BMR (Grundumsatz) und wenn ich die Schaltfläche "Calculate (btnCal)" drücken, schreibt es nicht die Ergebnisse in die TextView, die die "Wartung" ist. Ich habe versucht, es zu reparieren, aber ich kann es nicht funktionieren lassen.Android-Schaltfläche nicht etwas tun
Hier ist mein Code.
package com.example.leks.calmeter;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
public class actCal extends AppCompatActivity implements View.OnClickListener
{
private double act_val;
public double mBMR, fBMR, BMR = 0;
public EditText height, weight, age;
TextView maintain;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_act_cal);
init();
}
public void init()
{
Button btnCal;
btnCal = (Button) findViewById(R.id.btnCal);
btnCal.setOnClickListener(this);
}
@Override
public void onClick(View view)
{
Spinner spinner2 = (Spinner)findViewById(R.id.spinner2);
switch(view.getId())
{
case R.id.btnCal:
{
Spinner spinner = (Spinner)findViewById(R.id.spinner);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
{
String SelectedItem = parent.getItemAtPosition(position).toString();
if (SelectedItem.equals("Sedentary"))
{
act_val = 1.2;
}
if (SelectedItem.equals("Light"))
{
act_val = 1.375;
}
if (SelectedItem.equals("Moderate"))
{
act_val = 1.55;
}
if (SelectedItem.equals("Very Active"))
{
act_val = 1.725;
}
if (SelectedItem.equals("Extra Active"))
{
act_val = 1.9;
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
spinner2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
{
String SelectedItem = parent.getItemAtPosition(position).toString();
if (SelectedItem.equals("Male"))
{
String heights = height.getText().toString();
String ages = age.getText().toString();
String weights = weight.getText().toString();
double wght = Double.parseDouble(weights);
double hght = Double.parseDouble(heights);
int ageint = Integer.parseInt(ages);
mBMR = ((10 * wght) + (6.25 * hght) - (5 * ageint) + 5) * act_val;
maintain.setText(String.valueOf(mBMR));
}
if (SelectedItem.equals("Female"))
{
//TODO Formula For Females here.
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
}
}
}
}
Stellen Sie sicher, dass 'public EditText initialize height, weight, age; TextView pflegen; ' –
Wenn Sie auf Ihren Knopf klicken, stellen Sie nur Zuhörer auf Ihrem' Spinner 'ein. Sie müssen das ausgewählte Element Ihres Spinner 's für die' TextView' ändern, um aktualisiert zu werden. Vielleicht könnten Sie den 'Spinner' Listener in Ihrer 'init()' Methode setzen. –