0

I have one spinner in my activity and I put different value for every items selected. I'm using switch case for branching statement, but when O call kcptjalan, which is a variable inside switch case with Toast, it shows 0 though I select every item inside spinner. How can I fix it?

This is my Activity.java

public class Main2Activity extends AppCompatActivity {

public TextView ttkalorisehari, ttkaloriseminggu,txtbb;
double naik_bb,kcptjalan,hasil_bakar,durasi;
Spinner kcpt;
String[]kecepatan = {"...","Jalan kaki santai (3 mph)","Jalan kaki cepat (4-5 mph)","Jalan kaki menaiki bukit (3,5 mph)","Naik tangga (3 mph)","Jalan kaki turun bukit (2,5 mph)"};
ArrayAdapter<String> adapter;
EditText etbb,etdurasi;
Button bhitung;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main2);

    bhitung = (Button)findViewById(R.id.btnhitung);
    etbb = (EditText)findViewById(R.id.tbb);
    etdurasi = (EditText)findViewById(R.id.tdurasi);


    adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,kecepatan);
    kcpt.setAdapter(adapter);
    try {
        double nilai_bb = Double.parseDouble(ttkaloriseminggu.getText().toString());
        DecimalFormat df = new DecimalFormat("#.##");
        naik_bb = (Double.valueOf(nilai_bb)/7000);
        txtbb.setText(df.format(naik_bb));
    }catch (Exception e){
        Toast.makeText(getApplicationContext(),"Isi kolom kosong",Toast.LENGTH_LONG).show();
    }

    bhitung.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            try {
                pembakaran_kalori();
            }catch (Exception e){
                Toast.makeText(getApplicationContext(),"Kesalahan 2 : "+e.getMessage(),Toast.LENGTH_SHORT).show();
            }
        }
    });
}

public void pembakaran_kalori(){
    try {
        if (Integer.valueOf(etbb.getText().toString())>=54 && Integer.valueOf(etbb.getText().toString())<=63 ){
            kcpt.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){

                @Override
                public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

                    switch (position){
                        case 1:
                            kcptjalan = 0.3;
                            break;
                        case 2:
                            kcptjalan = 0.16;
                            break;
                        case 3:
                            kcptjalan = 0.17;
                            break;
                        case 4:
                            kcptjalan = 0.12;
                            break;
                        case 5:
                            kcptjalan = 0.37;
                            break;
                    }
                }

                @Override
                public void onNothingSelected(AdapterView<?> parent) {

                }
            });
        }else if (Integer.valueOf(etbb.getText().toString())>=72 && Integer.valueOf(etbb.getText().toString())<=81 ){

            kcpt.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){

                @Override
                public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

                    switch (position){
                        case 1:
                            kcptjalan = 0.23;
                            break;
                        case 2:
                            kcptjalan = 0.12;
                            break;
                        case 3:
                            kcptjalan = 0.13;
                            break;
                        case 4:
                            kcptjalan = 0.13;
                            break;
                        case 5:
                            kcptjalan = 0.27;
                            break;
                    }
                }

                @Override
                public void onNothingSelected(AdapterView<?> parent) {

                }
            });
        }
    }catch (Exception e){
        Toast.makeText(getApplicationContext(),"Kesalahan "+e.getMessage(),Toast.LENGTH_SHORT).show();
    }
    try {
        durasi = Double.parseDouble(etdurasi.getText().toString());
        hasil_bakar = ((durasi*kcptjalan)*2);
        Toast.makeText(getApplicationContext(),"Pembakaran kalori anda = "+kcptjalan,Toast.LENGTH_SHORT).show();
    }catch (Exception e){
        Toast.makeText(getApplicationContext(),"Kesalahan 3 : "+e.getMessage(),Toast.LENGTH_SHORT).show();
    }
}
   }
zero323
  • 322,348
  • 103
  • 959
  • 935
husen
  • 89
  • 2
  • 10
  • [Welcome to Stack Overflow! What does your step debugger tell you?](https://stackoverflow.com/questions/25385173/what-is-a-debugger-and-how-can-it-help-me-diagnose-problems) – Heri Jan 21 '18 at 11:08
  • no error, no message about that – husen Jan 21 '18 at 11:24

0 Answers0