csh_34 2013-01-18 05:50 采纳率: 0%
浏览 4603
已采纳

如何改变spinner中的数组源

在程序中有一个 spinner5 ,我在 values folder 中创建了两个字符串数组 name_array 和 type_array 。还有两个 radio buttons: radiobtn1 和 radiobtn2 。
我想实现的是当每个单选按钮被选中时改变 spinner5 的内容。

if (radiobtn1 被选中)
then
   spinner5 从 name_array 中显示内容 

else If (radiobtn2 被选中)
then 
  spinner5 从  type_array 中显示内容 

如何实现这个功能呢?

  • 写回答

2条回答

  • Curie-87 2013-01-22 02:32
    关注

    在 xml中写入下面的代码

        <RadioGroup 
             android:layout_toRightOf="@+id/txtpref"
             android:layout_marginLeft="10sp"
             android:orientation="horizontal"
                 android:layout_width="wrap_content" 
             android:layout_height="wrap_content">
            <RadioButton 
                android:textColor="#000000"
                android:text="Male" 
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content"
                android:id="@+id/radiobutton1"/>
            <RadioButton 
                android:textColor="#000000"
                android:text="Female"
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content"
                android:id="@+id/radiobutton2"/>    
        </RadioGroup> 
    
    
        In Your Java file
    
        RadioButton radiobutton1,radiobutton2;
        String [] name_array,type_array;
        String [] temparray;
    
        temparray = (name_array or type_array) // use any which you want disaplay first and use temparray to pass your adapter 
    
    ArrayAdapter arrayAdapter =new ArrayAdapter<String>(Activity_Name.this,android.R.layout.simple_spinner_item, temparray);
    arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_it‌​em);
    
        radiobutton1 = (RadioButton) findViewById(R.id.radiobutton1);
        radiobutton2 = (RadioButton) findViewById(R.id.radiobutton2);
    
        radiobutton1.setOnCheckedChangeListener(new OnCheckedChangeListener() {
    
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                        // TODO Auto-generated method stub
                        if (isChecked) {
                        // you want spinner5 to display contents from name_array.   
                                         temparray = name_array;
                                         your_adapter.notifyDataSetChanged();
                        }
                    }
            });
    
        radiobutton2.setOnCheckedChangeListener(new OnCheckedChangeListener() {
    
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                        // TODO Auto-generated method stub
                        if (isChecked) {
                        // you want spinner5 to display contents from type_array.   
                                         temparray = type_array;
                                         your_adapter.notifyDataSetChanged();
                        }
                    }
                });
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)