(个人经验,仅供参考,错误之处,敬请谅解)
选项组件监听器的使用
- Spinner
当下拉列表被选中值
sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
......
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
......
}
});
- RadioGroup
当单选按钮组选项切换
rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId){
case R.id.rb1:
tv.setTextColor(getResources().getColor(R.color.white));
break;
case R.id.rb2:
tv.setTextColor(getResources().getColor(R.color.red));
break;
case R.id.rb3:
tv.setTextColor(getResources().getColor(R.color.blue));
break;
}
}
});
- CheckBox
当某个复选框勾选变化
ck1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked){
......
}
else{
......
}
}
});
- toggleButton
当开关按钮状态改变
toggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked){
......
}
else{
......
}
}
});
多级Spinner的联动
上一级的值发生改变,下一级对应内容发生改变
string.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="province">
<item>江苏省</item>
<item>湖南省</item>
<item>湖北省</item>
<item>江西省</item>
</string-array>
<string-array name="jiangsu">
<item>南京市</item>
</string-array>
<string-array name="hunan">
<item>长沙市</item>
</string-array>
<string-array name="hubei">
<item>武汉市</item>
</string-array>
<string-array name="jiangxi">
<item>南昌市</item>
</string-array>
</resources>
private Spinner sp1,sp2;
private int[]cities={R.array.jiangsusheng,R.array.hunansheng,R.array.hubeisheng,R.array.jiangxisheng};
private void setListeners() {
sp1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
ArrayAdapter<CharSequence>adapter=ArrayAdapter.createFromResource(
LianDongAty.this,cities[position],android.R.layout.simple_dropdown_item_1line
);
sp2.setAdapter(adapter);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
6230

被折叠的 条评论
为什么被折叠?



