B4J Question Radio Buttons

davelt99

Member
Licensed User
Longtime User
I've created an array of radio buttons
<code>
sub Process_Globals
Dim rButton(4) As RadioButton
...
</code>

<code>
sub btnReports_MouseClicked (EventData As MouseEvent)
Reports.Initialize("frm",400,350)
Reports.RootPane.LoadLayout("Reports")
rButton(0).Initialize("rPrint")
rButton(0).Text="First Button"
rButton(1).Initialize("rPrint")
rButton(1).Text="Sdecond Button"
rButton(2).Initialize("rPrint")
rButton(2).Text="Third Button"
rButton(3).Initialize("rPrint")
rButton(3).Text="Fourth Button"
rButton(0).Selected=True
paneReports.AddNode(rButton(0),90dip,10dip,150dip,35dip)
paneReports.AddNode(rButton(1),90dip,50dip,150dip,35dip)
paneReports.AddNode(rButton(2),90dip,90dip,150dip,35dip)
paneReports.AddNode(rButton(3),90dip,130dip,150dip,35dip)
Reports.ShowAndWait
</code

My problem is that the changeChecked event never happens and that when a different button is checked, the previously selected button also remains checked. I've looked extensively at the forum but don't see what I'm doing wrong.
<code>
Sub rPrint_ChangeChecked(Checked As Boolean)
Dim rbt As RadioButton
rbt=Sender
MsgBox.Show(rbt.text,"")
End Sub
</code>

Any assistance would be greatly appreciated.

Thank you,
 

Cableguy

Expert
Licensed User
Longtime User
try this:

B4X:
Sub Process_Globals
    Private fx As JFX
    Private MainForm As Form
    Private RadioButton(10) As RadioButton
    Private radiolist As List
End Sub

Sub AppStart (Form1 As Form, Args() As String)
    MainForm = Form1
    MainForm.SetFormStyle("UNIFIED")
    'MainForm.RootPane.LoadLayout("Layout1") 'Load the layout file.
    MainForm.Show
    radiolist.Initialize
    For n = 0 To 9
        RadioButton(n).Initialize("rPrint")
        MainForm.RootPane.AddNode(RadioButton(n), 50, 50*(n + 1), 49, 50)
        radiolist.Add(RadioButton(n))
    Next
    RadioButton(0).GroupRadioButtons(radiolist)
End Sub
 
Upvote 0

davelt99

Member
Licensed User
Longtime User
Thanks very much, Cableguy.

That worked great. Didn't know that I had to group to a list.

Thanks again,
 
Upvote 0
Top