How to create a callback for radio buttons

I have a group of radio buttons with 3 choices (app.mode1, app.mode2, and app.mode3) in app-designer. When a user clicks one of the radio buttons, I want the name of a separate button to be changed to something else. For example: mode 1: "load", mode 2: "plot", mode 3: "display". I'm able to create a call back for the group of radio buttons as below:
function modeSelectionChanged(app, event)
selectedButton = app.mode.SelectedObject;
end
end
But I have no idea as to how to write the following codes. Would someone please help me out?
Many thanks!

 Accepted Answer

Assuming your button has the name app.Button, and your radio buttons are labeled 'Mode1', 'Mode2', and 'Mode3', something like this
% Selection changed function: Mode
function ModeSelectionChanged(app, event)
selectedButton = app.Mode.SelectedObject;
switch selectedButton.Text
case 'Mode1'
app.Button.Text = "Load";
case 'Mode2'
app.Button.Text = "Plot";
case 'Mode3'
app.Button.Text = "Display";
end
end

5 Comments

Many thanks!
I just tried it, but it does not do anything. At the same time, there is no error of any sort.
What are you expecting it to do?
When I tested it, it changes the displayed text on app.Button based on the selection of the radio buttons. Again, you must label your buttons 'Mode1', etc for it to work.
That was indeed the problem!
I had the previous issue because I was using selectedButton.Text, but in my cases, they were the Values. Now it is working.
Many thanks!
Apologies for necromancing the thread. I don't fully understand how the solution involving values works. It is my understanding that selectedButton is a button object. For radio buttons, button.Value is either 0 or 1. My confusion is regarding how selectedButton.Value works in the example since it is now corresponding to the index of the button rather than the Boolean value?
You are correct. A button can only have a value of 0 or 1. If there are more than 2 butttons, you cannot use value to determine which button has been selected.

Sign in to comment.

More Answers (0)

Categories

Find more on Update figure-Based Apps in Help Center and File Exchange

Products

Release

R2020b

Asked:

on 16 Mar 2021

Commented:

on 11 Nov 2024

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!