ActionScript3 :: Flex : Programmatically Associate A RadioButton With A RadioButtonGroup?
Jul 27, 2009
I have a UI component that, for various reasons, I have to construct programatically. The component is a table of radio buttons grouped by column.Right now, I'm constructing the column groups like so:
private function createGroupsForItemList(items: XMLList): void {
for each (var item: XML in items) {
var rbGroup: RadioButtonGroup = new RadioButtonGroup();
groups[item.@level.toString()] = rbGroup;
}
}
I'm trying to associate the RadioButton instances with the column groups like so:
private function createValueControl(item: XML): UIComponent {
var control: RadioButton = new RadioButton();
control.label = "";
[code]...
I can see in the debugger that the control has an association to the group:
control.group == groups[item.@level.toString()]
However, I can see equally that the group does not know anything about the control:
group.radioButtons.length == 0
I imagine that this is because the setter for group in RadioButton is a dumb setter; all it does is copy to the variable, which doesn't do the magic that groupName does. However, I can't seem to find the value I should use to set the RadioButton.groupName property correctly.So, in short, I'm stumped on how to get these bits to talk to each other. How do I do this?
-- EDIT -- It turns out that I can have the groups created and associated simply by setting the groupName property, but I can't get at the group to set up a selection listener; the group is NULL immediately after the setting process, which means that the second line below throws the Flex equivalent of an NPE:
Working in Flex 3, I have a series of components being rendered on a canvas, each of which should represent a single potential selection, ideally in a RadioButtonGroup. So in my parent canvas I am defining the RadioButtonGroup, and each component provides a single RadioButton. However, this doesn't seem to work.
[Code]...
So my guess was that at this point if, say, four of these components were added, the radio buttons would behave in mutually exclusive fashion and I'd be able to access myRadioButtonGroup.selectedValue to get the current selection. However, it doesn't seem to work that way. Is what I'm trying to do even possible, or have I maybe just missed something?
How do I assign a value to a radiobutton when it's in a for loop to then trace out the value when radiobutton is clicked? I got this now, but it just sets all the radiobutton values to 10..
I have an AC with several questions and assoicated answers. These must be shown in a DG, and the idea is that the rows and colums of the DG are bound to the AC. For example, if the answer to question1 is Yes, the Yes-button must be true, and both the others must be false (as in normal radiobuttongroup behaviour). But when I change a button by clicking it, the actions datafield of the AC should change accordingly. Am I clear enough here?
It is ment for dynamic questionnaires.
<?xml version = "1.0"?> <mx:Application xmlns:mx = "http://www.adobe.com/2006/mxml"> <mx:Script>
How can I give value to combo box entries. For example, in combo box, I have Array Collection and inside it, I am adding strings like mx:String. I want to give it different value than the text.
I have a Validator on a RadioButtonGroup of 2 Radios. There's a checkbox above the RadioButtonGroup whereby if checkbox.Selected, then the Radios are enabled. So the Validator is required if the checkbox.Selected. So far so good. The problem is once a radio gets selected, the RadioButtonGroup selectedValue gets set. When I uncheck the checkbox I set the radios to not selected, but the selectedValue on the RadioButtonGroup doesn't get reset -- it hold the previous value. I tried setting it to null but no luck.
Therefore if I check the checkbox again and submit, the Validator see a selectedValue on the RadioButtonGroup. Even though none of the radios are selected, validation passes. How can I reset the RadioButtonGroup to its initial state when I uncheck the CheckBox? I looked at the underlying code for RadioButtonGroup.selectedValue = null, and what it does is look for a radio in the with the parameter value. If it doesn't find it nothing gets set.
I'm trying to make a quiz in flex and am loading data from an xml file. For each question I want to create a radiobuttongroup so I can associate radio buttons to it. How can I accomplish that with actionscript? I can see that addChild method works for DisplayObjects and I presume that radiobuttongroup is not one because I'm receiving errors. How can I dynamically add radiobuttongroup with actionscript in flex application?
I had tried to use the radioButtonGroup under the GridItem in flex4. but it is not working[code]...It is not working. If any one knows how to assign values to radioButtonGroup to call the showSetting() function.
I want to extend the RadioButton component in Flex 3, adding a text input line to it in place of the label. Is it possible to do this?Alternately, is it possible to have a container -- such as an HBox -- delegate all properties to an internal component -- such as a RadioButton -- so that I could create a composite component that 'acts like' a radio button?
I am having troubles adding a radiobutton to a VBox in actionscript.
var radioButton:RadioButton = new RadioButton(); radioButton.groupName = "source"; radioButton.label = "label";
[Code].....
I first created these radiobuttons in mxml and it worked fine, but now that the radiobuttons need to be dynamically generated in actionscript it doesnt work.
When stepping through in the debugger I get to a binding error (1009) when trying to execute the addchild statement and nothing shows up in the VBox.
Recently i worked in a project where i used 5 radio button to select a page number. Now the clients wants a big radio button. how can i increase the size of radio button in flex?
In my flex app I have some radio buttons. When a user clicks the radio button, I want to popup an Alert, and if the user clicks ok the radio button will change, otherwise their change will be discarded.
How do I accomplish that? I tried event.preventDefault(); while handling the click event, but that didn't do anything.
I have a datagrid that I want to add a column of radio button using AS3 (instead of mxml). I was able to do this with a custom itemRenderer. var dgc:DataGridColumn = new DataGridColumn(); dgc.itemRenderer = new ClassFactory(com.mypackage.RadioBtnColumnItemRenderer);
In my RadioBtnColumnItemRenderer.mxml, I have a box with a radioButton... like so: <?xml version="1.0" encoding="utf-8"?> <mx:Box xmlns:mx="[URL]" horizontalAlign="center" verticalAlign="middle"> <mx:RadioButton id="btnRadio" groupName="btnRadioSelect"/> </mx:Box>
When I run the application, the radio button shows up in the column as it should. However, I cannot select just ONE of the radio buttons. I am able to select all of them, but I don't want this... I want the ability to select one and then if I select another one, then the first one is unselected and the current one becomes selected (just like you would expect radio buttons to work).
I am using Advanced DataGrid of Flex 3 with hierarchical data and also i added tile list as a item renderer in another column in that tile list i added radiobutton as item renderer if i change the radio selected value the hierarchical tree sould expand if the scroll bar will come the radio button value is changing
I have been searching around for a while now, and cant find anything. In Flex, I need to be able to change the fontWeight of a RadioButton that is selected to bold. So, when a RadioButton is selected, it would call a function in AS3 that would set the fontWeight of that selected RadioButton...
valveRadioGroup.addEventListener(Event.CHANGE, changeRadioHandler); private function changeRadioHandler(event:Event):void { //change this RadioButton's fontWeight to bold
In 90% of the example projects I see for ActionScript / Flex I notice the following two coding conventions: 1) private member variables with getters/setters start with an underscore as in "_credentials" and 2) interfaces start with the letter "I" as in "ISessionInfo" Coming from the Java world, I find both of these conventions unnecessary and annoying. I am about to start a new Flex project and was planning on NOT following these conventions unless they are truly are widespread, standard conventions in the Actionscript/Flex world.
For example if I was given the string "01/01/1980". How could I then get the current date, then figure out how old someone is, and then just return how many years old they are?
I saw a topic on this in C++ but i'm not to familiar with it, anyone know how this would be done in AS3?
edit: I think what i'm having the hardest time with is how I would break down the original brithday string i'm starting with into month, day, year vars
I am making a quiz application for mobile.The questions are comming from xml. How can i make multiline Radiobuttons? I tried to do a skinclass but it didn't worked.In this code i make the RadioButtons.
What it says on the tin: I have an XMLList, and I want to find where in it a particular XML item falls. First index is good enough for my purposes. Note that I have no problem writing a function to do this by hand... but I was hoping that the API has something buried somewhere that'll do it for me. I didn't see it, though.
I've been trying to embed some svg files into an AS3 project using the Embed meta tag. For example:
[Code]...
However when displaying these files as Sprites only some of the gradients are surviving the embeding process. From what I've found simple (2 step) horizontal gradients seem to stand the best chance of being preserved, but sometimes other kinds of gradients are as well. In one case simply rotating an object 90 degrees causes the gradient to vanish when displayed in flash. Does anyone know a rough set of rules to use when creating svg gradient fills so they are preserved when rendered in flash? BTW: I used Inkscape to create the images in question.
Update: Bizarrely the solution to this seems to be setting the opacity of any object in the svg file whose gradient isn't displayed properly to a value below 1. Don't ask me why this works but it does. It does however have the unwanted side effect of the objects edges not being rendered as smoothly.
I have a spark skinnable component which contains a datagroup with images. The datagroup is scrolled by hovering the mouse over it. Everything works fine except one thing: after I change the datagroup provider, I need to scroll down automatically. The problem is the images are not loaded immediately after I set the provider so (contentHeight - height) does not yet represent the actual maximum scrolling position. Is there an easy way of telling the datagroup to scroll down as its content loads? Because the workaround seems to be not so straightforward. This is the code for scrolling(thumbnailStrip is my datagroup):