我目前正在研究定价计算器,其中客户只需要从微调器列表中选择他们想要的东西,然后计算器将计算总价。
我没有创建微调器下拉列表的问题,但是微调器中的每个项都有不同的值,例如,如果微调器有“LORRY”“BUS”和“CAR”,而“LORRY”的价格是20,“ CAR“是30,”BUS“是10美元。
如何在每个微调器项中添加不同的值。我使用字符串数组来创建下拉列表项。我在Android Studio平台上创建了。
MainActivity.java
package com.jika.directcalc;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Spinner mySpinner = (Spinner) findViewById(R.id.spinnervalue);
ArrayAdapter<String> myAdapter = new ArrayAdapter<String>(MainActivity.this,
android.R.layout.simple_list_item_1, getResources().getStringArray(R.array.value));
myAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mySpinner.setAdapter(myAdapter);
}
}
String.xml
<resources>
<string name="app_name">DIRECTCalc</string>
<string name="tmlogo">tmlogo</string>
<string-array name="value">
<item>IPV4 (16 IP)</item>
<item>IPV6</item>
<item>BGP</item>
<item>Bandwith on demand</item>
</string-array>
答案 0 :(得分:3)
首先从spinner获取值
int value = 0;
String Text = String.valueOf(mySpinner.getSelectedItem());
然后分配值,例如
if(Text == "BUS"){
value = 20;
}
答案 1 :(得分:1)
在计算总数时需要时,请使用 getSelectedItem()
或
<强> getSelectedItemPosition()
强>
String text = mSpinner.getSelectedItem().toString();
switch(text)
{
case "LORRY" : value=20;break;
case "CAR" : value=30;break;
case "BUS" : value=10;break;
}
你也可以使用位置。
switch(mSpinner.getSelectedItemPosition())
{
//cases
}
如果您想在选择项目时立即获取, Use listener
mSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
switch(position)
{
case 0 : value=20;break;
case 1 : value=30;break;
case 2 : value=10;break;
}
}
@Override
public void onNothingSelected(AdapterView<?> parentView) {
// your code here
}
});
答案 2 :(得分:1)
您需要一个希望微调器显示的数据列表
List<String> spinnerArray = new ArrayList<String>();
spinnerArray.add("item1");
spinnerArray.add("item2");
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, spinnerArray);
adapter.setDropDownViewResource(
android.R.layout.simple_spinner_dropdown_item);
Spinner sItems = (Spinner) findViewById(R.id.spinner1);
sItems.setAdapter(adapter);
另外,要找出所选内容,你可以做这样的事情
String selected = sItems.getSelectedItem().toString();
if (selected.equals("what ever the option was")) {
}