次のようなスクロールビューを含む単純なレイアウトがあります。
<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);
}
問題。 ビューはうまくスクロールしますが、ラジオボタンがまったく機能していません。私が欠けているものは何ですか?