请教一个Android方面在Menu菜单里定义的RadioGroup中返回某个RadioButton的选中状态的问题
答案:2 悬赏:80 手机版
解决时间 2021-04-09 07:37
- 提问者网友:温柔港
- 2021-04-08 18:03
请教各位大神Android方面的问题,我有一个用Menu菜单,菜单里定义了一个单选框组(RadioGroup),现在的问题是我已经完成了对选中的RadioGroup组里具体的RadioButton的选中状态的保存,用的是SharedPreferences来保存的,但在退出程序再重新进入时,Menu菜单里显示的RadioButton的选中状态仍然是我在Menu文件里自定义的默认选中的那个选项!请这个问题要怎么解决才能使在重新进入时,Menu菜单里的RadioButton的选中状态与SharedPreferences里保存的结果相同呢?
最佳答案
- 五星知识达人网友:duile
- 2021-04-08 18:31
RadioButton在做表单的时候经常用到,在安卓开发中,RadioButton需要和RadioGroup一起使用,表示在一组可选项中,只有一个可以被选中,RadioGroup状态改变的一个监视器OnCheckedChangeListener,RadioGroup使用的时候调用setOnCheckedChangeListener(),然后重写OnCheckedChangeListener中的onCheckedChanged()方法,比如:
radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// 获取变更后的选项的ID
int radioButtonId = group.getCheckedRadioButtonId();
switch (radioButtonId) {
case R.id.message_radiobtn:
mFragment = new MessageFragment();
break;
case R.id.contact_radiobtn:
mFragment = new ContactFragment();
break;
case R.id.dynamic_radiobtn:
mFragment = new DynamicFragment();
break;
default:
break;
}
getActivity().getSupportFragmentManager().beginTransaction()
.replace(R.id.realtabcontent, mFragment).commit();
}
});
radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// 获取变更后的选项的ID
int radioButtonId = group.getCheckedRadioButtonId();
switch (radioButtonId) {
case R.id.message_radiobtn:
mFragment = new MessageFragment();
break;
case R.id.contact_radiobtn:
mFragment = new ContactFragment();
break;
case R.id.dynamic_radiobtn:
mFragment = new DynamicFragment();
break;
default:
break;
}
getActivity().getSupportFragmentManager().beginTransaction()
.replace(R.id.realtabcontent, mFragment).commit();
}
});
全部回答
- 1楼网友:几近狂妄
- 2021-04-08 20:05
你是指在radiogroup中的radiobutton一直在左边不能居中显示的问题吗?
看了看似乎是radiobutton的父类compoundbutton的ondraw中下面的代码造成的
buttondrawable.setbounds(0, y, buttondrawable.getintrinsicwidth(), y +
height);
这样的话只要自己自定义一个radiobutton的子类,重写下ondraw就没有问题了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯