如何从变量中取值如果java中的Statement [关闭]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从变量中取值如果java中的Statement [关闭]相关的知识,希望对你有一定的参考价值。

我在公共类中声明了一个变量,然后我用if语句赋值变量,但是当我计算它时,它没有从if语句中获取值。怎么解决?这里完整代码https://pastebin.com/yuaMx4Mk谢谢

    double doubleJarak=Double.parseDouble(jarak);
    double doublewaktu=Double.parseDouble(waktu);
    //SPinner Code
    MaterialSpinner spinner = (MaterialSpinner) findViewById(R.id.spinner);
    spinner.setItems("Premium Rp 7.000", "Pertalite Rp 7.650", "Pertamax Rp 9.850", "Pertamax Turbo Rp 11.200");
    spinner.setOnItemSelectedListener(new MaterialSpinner.OnItemSelectedListener<String>() {

        @Override public void onItemSelected(MaterialSpinner view, int position, long id, String item) {
            //Snackbar.make(view, "Clicked " + item, Snackbar.LENGTH_LONG).show();
            if(position==0)
                hargaBBM=7000;
            else if(position==1)
                hargaBBM=7650;
            else if(position==2)
                hargaBBM=9850;
            else
                hargaBBM=11200;
        }
    });
    MaterialSpinner spinner2 = (MaterialSpinner) findViewById(R.id.spinner2);
    spinner2.setItems("Honda", "Yamaha", "Kawasaki", "Suzuki", "Lainnya");
    spinner2.setOnItemSelectedListener(new MaterialSpinner.OnItemSelectedListener<String>() {

        @Override public void onItemSelected(MaterialSpinner view, int position2, long id, String item) {
            //Snackbar.make(view, "Clicked " + item + position2, Snackbar.LENGTH_LONG).show();
            if (position2==0){
                MaterialSpinner spinner3 = (MaterialSpinner) findViewById(R.id.spinner3);
                spinner3.setItems("Revo 110 FI", "Blade 125 FI", "Supra X 125 FI");
                spinner3.setOnItemSelectedListener(new MaterialSpinner.OnItemSelectedListener<String>() {
                    @Override public void onItemSelected(MaterialSpinner view, int position, long id, String item) {
                        //Snackbar.make(view, "Clicked " + item, Snackbar.LENGTH_LONG).show();
                        if(position==0){
                            iritHonda=62200;
                        }else if(position==1){
                            iritHonda=61800;
                        }else if(position==2){
                            iritHonda=61800;
                        }
                    }
                });

            }
        }
    });
    totalHarga=iritHonda*hargaBBM;
    TextView Harga=(TextView)findViewById(R.id.totalHarga);
    Harga.setText(Double.toString(totalHarga));

}

}

答案

你的问题是那些函数是回调。在选择项目后,它们将被异步调用。他们没有返回值。在实际调用它们之前,您不能使用它们设置的变量。这意味着在onCreate末尾使用它们的所有代码都在错误的位置,需要在两个微调器的处理程序内调用它(因此它可以在任何微调器更改时更改)。

以上是关于如何从变量中取值如果java中的Statement [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

java如何实现这样的随机数字呢?

java如何从List中取值

Java : java基础

变量如何在函数内部取值而不在任何地方声明它[重复]

C语言中怎么计算一个类型的取值范围?如 char 用程序算

js中的with语句