在程序中有一个 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 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_item);
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.