检查并将两个微调器中的选定数字相乘

时间:2017-03-10 14:27:05

标签: 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().getStringArray(R.array.weight));
        myAdapter3.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
        weightSpinner.setAdapter(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>

我还有另一个包含数字的微调器,我希望当选择一个按钮时,来自该微调器的所选数字乘以包含数字的另一个微调器。这是按钮的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代码中执行此操作。感谢

1 个答案:

答案 0 :(得分:1)

为了在微调器中乘以两个数字,首先需要获取其中的值(将为String),将其转换为合适的数字数据类型(最好使用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();
        }
});