我创建了两个包含数字的微调器。
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代码中执行此操作。感谢
答案 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();
}
});