Android Spinner需要每个项目的菜单

时间:2014-11-07 13:11:13

标签: java android xml

首先,我是android的初学者 我有一个微调器,需要微调器上每个项目的特定菜单。 这是基本的微调器

<Spinner
    android:id="@+id/building_type"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:spinnerMode="dialog" />

这些是微调器上的项目

<string-array name="building_types">
    <item>W1</item>
    <item>W2</item>
    <item>S1</item>
    <item>S2</item>
    <item>S3</item>
    <item>S4</item>
    <item>S5</item>
    <item>C1</item>
    <item>C2</item>
    <item>C3</item>
    <item>PC1</item>
    <item>PC2</item>
    <item>RM1</item>
    <item>RM2</item>
    <item>URM</item>
</string-array>

这是微调器的类

states = getResources().getStringArray(R.array.building_types);


    spinner = (Spinner) findViewById(R.id.building_type);

    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_item, states);
    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(dataAdapter);

    spinner.setOnItemSelectedListener(new OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> parent, View view,
                                   int position, long id) {
            //do what?
        }

        @Override
        public void onNothingSelected(AdapterView<?> arg0) {

        }
    });

当用户在微调器上选择一个项目时,我想要一些特定的收音机盒出来。 基本上,它就像

if building_types=="w1"
then show radiobox1
elseif building_types=="w2"
then show radiobox2
and so on 

所有关于tuts的内容都只是在选中之后才会看到一些文字。

这种情况可能与此类似吗?感谢。

1 个答案:

答案 0 :(得分:0)

我认为你真的很接近你正在寻求的东西。

if语句应添加到onItemSelected方法中,例如:

String selectedItem = dataAdapter.getItem(position);
if(selectedItem.equals("w1")) {
   radioBox1.setVisibility(View.VISIBLE);
else if(selectedItem.equals("w2") {
   radioBox2.setVisibility(View.VISIBLE);
}