假设我有一个微调器(包含2个项目)和一个单选按钮组(具有2个单选按钮)。
例如,我想在我的布局中显示一个TextView,每个选择都将具有不同的值:
例如,我们有:
男
女
真假
简而言之,每次用户选择这些选项中的任何一个,我都希望显示一个不同的textview。我将事件侦听器放置在微调器和单选按钮上:
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View arg1,
int arg2, long arg3) {
``// TODO Auto-generated method stub
}
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// TODO Auto-generated method stub
//switch checkedId and check which spinner item is selected...
//then show the textview
}
但这有时有时行不通-我遇到了许多不同的问题。我也尝试过类似的选择。但是,没有任何东西能正常工作。
如何在不添加额外按钮的情况下动态处理此问题?
希望这可以更好地解释我的评论。
int selectedSpinnerItem = -1;
int selectedRadioGroupItem = -1;
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {
selectedSpinnerItem = position;
updateViews();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
selectedSpinnerItem = -1;
updateViews();
}
});
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
selectedRadioGroupItem = checkedId;
updateViews();
}
});
public void updateViews(){
// Here is where you will compare the values
// and display the appropriate views.
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句