У меня есть простой макет, содержащий Scroll View, как это:стилизации Android Radiobuttons в RadioGroup не работает
<ScrollView
android:id="@+id/inputfields"
android:layout_width="fill_parent"
android:layout_height="280dp"
android:clipChildren="true"
android:measureAllChildren="true"
android:visibility="gone" >
</ScrollView>
Остальная часть макета не имеет значения.
В OnCreate() Я добавляю свои RadioButtons в новую RadioGroup, назначая свои действия с помощью setOnCheckedChangeListener() и добавляя RadioGroup в контейнер ScrollView. См. Выдержку кода ниже.
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.inputdlg);
//Populate the list
ScrollView layout = ScrollView)findViewById(R.id.inputfields);
Context cont = getContext();
final RadioGroup rg = new RadioGroup(cont);
rg.setScrollContainer(true);
int id = 0; //For the radiogroup the id does not need to be unique
for(String s : mStringsList) {
RadioButton rb = new RadioButton(cont);
rb.setText(s);
rb.setId(id++);
rb.setGravity(Gravity.CENTER_VERTICAL);
rg.addView(rb);
}
rg.check(Integer.getInteger(mValue,0)); //0 is the default
rg.setOnCheckedChangeListener(new OnCheckedChangeListener(){
public void onCheckedChanged(RadioGroup group, int checkedId) {
if(mRadioListener!=null)
mRadioListener.onClick(mEt.getText().toString());
dismiss();
}
});
layout.addView(rg);
}
Проблема. Вид прокрутки хорошо, но переключатели не работают вообще. Что мне не хватает?
Вам не хватает '(' где вы объявляете свой 'Scrollview', но я предполагаю, что wa просто ошибка при копировании здесь? – codeMagic