csh_34 2013-01-17 21: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-21 18: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 torch框架下的强化学习DQN训练奖励值浮动过低,希望指导如何调整
  • ¥35 西门子博图v16安装密钥提示CryptAcquireContext MS_DEF_PROV Error of containger opening
  • ¥15 mes系统扫码追溯功能
  • ¥40 selenium访问信用中国
  • ¥20 在搭建fabric网络过程中遇到“无法使用新的生命周期”的报错
  • ¥15 Python中关于代码运行报错的问题
  • ¥500 python 的API,有酬谢
  • ¥15 软件冲突问题,软件残留问题
  • ¥30 有没有人会写hLDA,有偿求写,我有一个文档,想通过hLDA得出这个文档的层次主题,有偿有偿!
  • ¥50 有没有人会写hLDA,有偿求写,我有一个文档,想通过hLDA得出这个文档的层次主题,有偿有偿!
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部