Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 检查并乘以两个微调器中选定的数字_Java_Android_Android Spinner - Fatal编程技术网

Java 检查并乘以两个微调器中选定的数字

Java 检查并乘以两个微调器中选定的数字,java,android,android-spinner,Java,Android,Android Spinner,我已经创建了两个包含数字的微调器 Spinner weightSpinner = (Spinner) findViewById(R.id.Weightspinner); ArrayAdapter<String> myAdapter5 = new ArrayAdapter<String>(DrinksActivity.this, android.R.layout.simple_list_item_1, getResources

我已经创建了两个包含数字的微调器

Spinner weightSpinner = (Spinner) findViewById(R.id.Weightspinner);
        ArrayAdapter<String> myAdapter5 = new ArrayAdapter<String>(DrinksActivity.this,
                android.R.layout.simple_list_item_1, getResources().getStringArray(R.array.weight));
        myAdapter3.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
        weightSpinner.setAdapter(myAdapter5);
Spinner-weightSpinner=(Spinner)findViewById(R.id.weightSpinner);
ArrayAdapter myAdapter5=新的ArrayAdapter(DrinksActivity.this,
android.R.layout.simple_list_item_1,getResources().getStringArray(R.array.weight));
myAdapter3.setDropDownViewResource(android.R.layout.simple\u dropdown\u item\u 1line);
设置适配器(myAdapter5);
这是一个微调器,这是微调器包含的数组

<string-array name="weight">
        <item>6350.29</item> <!--1st-->
        <item>12700.6</item><!--2st-->
        <item>19050.9</item><!--3st-->
        <item>25401.2</item><!--4st-->
        <item>31751.5</item><!--5st-->
        <item>38101.8</item><!--6st-->
        <item>44452.1</item><!--7st-->
        <item>50802.3</item><!--8st-->
        <item>57152.6</item><!--9st-->
        <item>63502.9</item><!--10st-->
        <item>69853.2</item><!--11st-->
        <item>76203.5</item><!--12st-->
        <item>82553.8</item><!--13st-->
        <item>88904.1</item><!--14st-->
        <item>95254.4</item><!--15st-->
        <item>101605</item><!--16st-->
        <item>107955</item><!--17st-->
        <item>114305</item><!--18st-->
        <item>120656</item><!--19st-->
        <item>127006</item><!--20st-->
        <item>133356</item><!--21st-->
        <item>139706</item><!--22st-->
        <item>146057</item><!--23st-->
        <item>152407</item><!--24st-->
        <item>158757</item><!--25st-->
        <item>165108</item><!--26st-->
        <item>171458</item><!--27st-->
        <item>177808</item><!--28st-->
        <item>184159</item><!--29st-->
        <item>190509</item><!--30st-->
    </string-array>

6350.29
12700.6
19050.9
25401.2
31751.5
38101.8
44452.1
50802.3
57152.6
63502.9
69853.2
76203.5
82553.8
88904.1
95254.4
101605
107955
114305
120656
127006
133356
139706
146057
152407
158757
165108
171458
177808
184159
190509
我还有另一个包含数字的微调器,我希望在选择按钮时,此微调器中选定的数字与另一个包含数字的微调器相乘。下面是按钮的XML代码

<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Add"
        android:id="@+id/AddDrink"
        android:textSize="@dimen/TxtSize"
        android:background="@color/Blue"
        android:textColor="@color/White"
        android:paddingRight="@dimen/LargeTxt"
        android:layout_alignParentBottom="true"
        android:layout_toRightOf="@+id/Conversion"
        android:layout_toEndOf="@+id/Conversion" />


我想知道如何从java代码中做到这一点。感谢将微调器中的两个数字相乘,首先您需要获取其中的值(将作为
字符串
),将其转换为合适的数字数据类型(最好使用
BigDecimal
,因为您也使用小数),然后将它们相乘

button.setOnClickListener(                 //onButtonClick
       new Button.OnClickListener() {
              public void onClick(View v)
              {
                  //Get selected (shown) value in Spinners and store them in String variables
                  String string1 = Spinner1.getSelectedItem().toString();
                  String string2 = Spinner2.getSelectedItem().toString();

                 //Assign these values to BigDecimal variables
                  BigDecimal num1 = new BigDecimal(string1);
                  BigDecimal num2 = new BigDecimal(string2);

                  //Perform your operation
                  num1.multiply(num2);

                  //Since you haven't told what the usage of the result is, I'll leave it to you
                  //To get value of result (num1) do --> num1.toString();
        }
});

您是否尝试将选择事件侦听器添加到任一微调器?否,我没有添加事件侦听器是您是否希望每次微调器上的选择更改或按下某个按钮时都得到结果?我希望在选择按钮后进行更改如何将此数与十进制数相乘,如num1。乘法(num2).乘以(“568.261”);嗯,你为什么要用568.261再乘以一次?如果您不想将其乘以num1,请将其存储在另一个BigDecimal中,然后再进行乘法。上面使用的语法是错误的。multiply()具有以下语法:公共BigDecimal乘法(BigDecimal被乘数)