android-如何改变spinner中的数组源

问题描述

如何改变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 中显示内容 

如何实现这个功能呢?

解决方案

在 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 radiobutton1radiobutton2;    String [] name_arraytype_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.thisandroid.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();                    }                }            });

解决方案二:
设置两个adapter,根据radio的不同选择设置不同的adapter.

时间: 2024-10-27 12:42:56

android-如何改变spinner中的数组源的相关文章

android-如何动态的改变 Spinner 中 TextView 的文本?

问题描述 如何动态的改变 Spinner 中 TextView 的文本? 当我从 Spinner 中选择任何一项 items 时,如何动态的改变TextView的文本? 我使用的代码: private Spinner paidIn = null; paidIn = (Spinner) findViewById(R.id.paidIn); ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource( this, R.a

Android: 在WebView中获取网页源码

1. 使能javascript:  ? 1 webView.getSettings().setJavaScriptEnabled(true); 2. 编写本地接口 ? 1 2 3 4 5 final class InJavaScriptLocalObj {     public void showSource(String html) {         Log.d("HTML", html);     } } 3. 向网页暴露本地接口 ? 1 webView.addJavascrip

android 从资源中获取数组

   8.1.1.概述 除了在Java代码中定义数组,Android还提供了在资源中定义数组,然后在Java代码中解析资源,从而获取数组的方法. 实际开发中,推荐将数据存放在资源文件中,以实现程序的逻辑代码与数据分离,便于项目的管理,尽量减少对Java代码的修改. 8.1.2.在资源中定义数组 步骤1.在res/values文件夹下创建arrays.xml文件: 步骤2.在arrays.xml文件中创建一个数组,如下代码所示: <?xml version="1.0" encodi

android-如何在Android spinner中设置数据?

问题描述 如何在Android spinner中设置数据? 我从spinner 中获得一个值,并把它储存在一个数据库中.但是在返回时,不能在Spinner设置Text. 如何在EditText中像设置其它功能一样设置这个功能? public class MainActivity_spinner extends Activity { Button save; Button show; public void onCreate(Bundle savedInstanceState) { super.o

改变服务器中的android sensor

问题描述 改变服务器中的android sensor 程序中有个服务器用来检查电话是否响了.在这个服务器中我想检查电话是否开启或关闭. 是否可以一直运行 sensor 来检查服务器是否在运行,还是这个特别损耗电池和 CPU 资源呢? @Override public void onSensorChanged(SensorEvent event) { if (event.sensor.getType() == Sensor.TYPE_ORIENTATION) { boolean turnAroun

android widget-在 Spinner 中使用 BaseAdapter

问题描述 在 Spinner 中使用 BaseAdapter 这个程序的任务是使用POJO object中的填充spinner.在这之前,我使用普通的字符串的值和BaseAdapter检查过. activity group中的 activity: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_date_fi

android 怎样在adapter中改变所有item的部分布局?

问题描述 android 怎样在adapter中改变所有item的部分布局? 我想实现类似有道云笔记的笔记功能,点击某个item中的音频文件后,播放当前的音频文件,当前item的音频布局以进度条呈现,同时其它item(无论之前是否被点击播放过,也无论是否播放完过)全部重置为最初未被点击的状态,不知道我有没有把问题说清楚,有没有人做过这个啊?折腾一天了,实在没法了,求指点啊 解决方案 adapter中有个getItemViewType(int position)的方法,返回特定的type,然后构造

java-选择 spinner 中的合适的值

问题描述 选择 spinner 中的合适的值 我在创建一个 Account 的 edit Screen. Account class 有一些属性,现在我想显示这些属性然后编辑它们.我创建了一个spinner 然后显示account type. ArrayAdapter<CharSequence> typeOfAccountAdapter = ArrayAdapter.createFromResource( this, R.array.typeOfAccountArray, android.R.

Android在滚动列表中实现视频的播放(ListView &amp;amp; RecyclerView)

英文原文:Implementing video playback in a scrolled list (ListView & RecyclerView)  本文将讲解如何在列表中实现视频播放.类似于诸如 Facebook, Instagram 或者 Magisto这些热门应用的效果: Facebook: Magisto: Instagram: 这片文章基于开源项目: VideoPlayerManager. 所有的代码和示例都在那里.本文将跳过许多东西.因此如果你要真正理解它是如何工作的,最好下