① android的radiogroup為什麼選擇兩個
項目中遇到多個RadioGroup中單選RadioButton ,設置了默認選中第一個 . 然後就 能選中兩個RadioButton . . ..
我開始這樣給設置默認選中一個的:
for (int j = 0; j < newList.get(position).getList().size(); j++) {
RadioButton radioButton = new RadioButton(context);
radioButton.setTextSize(9);
radioButton.setText(newList.get(position).getList().get(j)
.get("dishname").toString());
radioButton.setTag(newList.get(position).getList().get(j)
.get("dishid").toString());
radioGroup.addView(radioButton, j);
if (j==0) {
radioButton.setCheck(true);
}
}
就是中給radioButton設置為選中.. .
網上查找了下類似的情況 如 這篇文章 ,都沒有解決我的問題.
最後研究了下 android 官方Api 和部分 RadioGroup的源代碼 後發現. 其實很簡單
我們不需要設置RadioButton的默認選中, 這樣會使RadioButton一直處於選中狀態.
我們應該給RadioGroup 設置選中的RadioButton ,也就是說
把 if (j==0) {
radioButton.setCheck(true);
}
更改為
if (j==0) {
radioGroup.check(radioButton.getId());
}
輕松搞定.. 哎呦了個去,官方Api和源碼是個好東西啊.
② android RadioGroup問題
OnCheckedChangeListener是一個介面,不是基類。
在android中,所有的*Listener都是介面。
用implements,試試
class OnCheckedChangeListener implements RadioGroup.OnCheckedChangeListener
③ Android中的radiogroup中的radioButton都不可編輯
radiobutton radiobutton = new radiobutton(this);
radiogroup.layoutparams layoutparams = new radiogroup.layoutparams(radiogroup.layoutparams.wrap_content,50);
layoutparams.setmargins(10, 10, 10, 10);
radiobutton.setlayoutparams(layoutparams);
radiobutton.settext("rb1");
radiobutton.settextsize(12);
radiobutton.setgravity(gravity.center);
radiobutton.setpadding(10, 10, 10, 10);
radiogroup.addview(radiobutton);
//上面是添加1個,自己寫個循環添加吧。
//上面那個layoutparams必須是radiogroup的,因為radiobutton要添加的容器是radiogroup
④ Android如何動態生成Radio和RadioGroup
privateLinearLayoutlayout;//布局,可以在xml布局中獲得
privateRadioGroupgroup;//點選按鈕組
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
layout=newLinearLayout(this);//實例化布局對象
group=newRadioGroup(this);//實例化單選按鈕組
//添加單選按鈕
for(inti=0;i<5;i++){
RadioButtonradio=newRadioButton(this);
radio.setText("radio"+i);
group.addView(radio);
}
//將單選按鈕組添加到布局中
layout.addView(group);
this.setContentView(layout);
}
可以把單選按鈕組放在ScrollView中,這樣的話,多出的部分可以滾動查看了。
⑤ android的radiogroup怎麼移動布局
實際上只要我們明白在radiogroup裡面我們也可以使用RelativeLayout,LinearLayout這樣的布局的;首先設置radiogroup的orientation屬性為vertical
然後再第一個radiobutton前面加上LinearLayout,orientation屬性設置為horizontal,</LinearLayout>標簽放在一行最後一個radiobutton後面;小編這里是 文本為「50」的那個radiobutton後面
同樣的把使用LinearLayout把後面幾個radiobutton包裹住,orientation屬性設置為horizontal,
運行一下就可以發現就達到了我們想要的結果!
⑥ android radiogroup怎麼用
RadioButton和RadioGroup的關系:1、RadioButton表示單個圓形單選框,而RadioGroup是可以容納多個RadioButton的容器2、每個RadioGroup中的RadioButton同時只能有一個被選中3、不同的RadioGroup中的RadioButton互不相干,即如果組A中有一個選中了,組B中依然可以有一個被選中4、大部分場合下,一個RadioGroup中至少有2個RadioButton5、大部分場合下,一個RadioGroup中的RadioButton默認會有一個被選中,並建議您將它放在RadioGroup中的起始位置。
⑦ android如何實現代碼控制RadioGroup中某一個按鈕選中
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();
}
});這篇簡單寫了一個幾行代碼介紹,實現的效果有點類似QQ底部導航切換,Teachcourse博客:
⑧ android開發中 關於radiogroup
在radiogroup的xml文件裡面設置 android:orientation="horizontal"這個屬性就可以了。
⑨ android 中如何獲取radiogroup 中那個radiobutton被選擇
java">radiogroup本身有監聽的方法可以直接設置監聽,這個監聽需要一個回調介面OnCheckedChangeListener,這個介面裡面的回調方法給我們返回了兩個參數其中int型的參數就是當前你選中的RadioButton的ID
radioGroup.setOnCheckedChangeListener(newOnCheckedChangeListener(){
@Override
publicvoidonCheckedChanged(RadioGroupgroup,intcheckedId){
//checkId就是當前選中的RadioButton
}
});
⑩ android radiogroup怎麼初始化按鈕
請說明完整你的問題。
RadioButton carButton = (RadioButton) findViewById(R.id.search_car);
RadioButton busButton = (RadioButton) findViewById(R.id.search_bus);
RadioButton walkButton = (RadioButton) findViewById(R.id.search_walk);
以上是三個button的初始化,也就是找到改按鈕。
如果需要設置某個按鈕是被選中的
請調用performClick();方法
例如:
carButton.performClick();