旋转器列表项

时间:2018-04-26 03:38:48

标签: java android string android-studio oop

我目前正在研究定价计算器,其中客户只需要从微调器列表中选择他们想要的东西,然后计算器将计算总价。

我没有创建微调器下拉列表的问题,但是微调器中的每个项都有不同的值,例如,如果微调器有“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>

3 个答案:

答案 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")) {

    }