Android :: RadioButton SetChecked Not Working On Configuration Change / Get To Work
May 11, 2010
I am trying to set a RadioButton as checked/not checked through code. It is working the first time I set it, but the second time, the code does not set the button. Here is the relevant part of my code. I have commented on the problematic part. code...
If I set a radio button to be selected on the first time, it works fine. But if I unselect it by calling ((RadioButton) findViewById(R.id.ID)).setChecked(false); then, later even if I try to make it selected by calling setChecked(true) will not work unless the user select it from the screen.
Have any one come across this? or is it only me?code...
If the else part is executed atleast once then everything gets mess up. When I step thro my debugger, I can see the execution goes in the correct path and setting it to true. It is getting executed only once, I checked that. And I am not resetting it back to false in any other part of the code.
What happens to the width and height params declared in LayoutParams on configuration change? E.g. if I have an ImageView declared with, new LinearLayout.LayoutParams(30, 40); On Configuration Change, does the width become 40 and height 30?
Flipping between landscape and portrait is causing me a problem with dialogs that are active at the time of config change. The dialogs survive (which I think is good), but I have the problem that some of my dialogs contain dynamic content which would need to be refreshed in the dialog views. All that content disappears from the dialog views after the config change.
I thought it would be easier to do a dismissDialog() on restoration in onCreate(), letting the user press the button that shows the dialog. I successfully save and recover the dialog id, but when I attempt to dismissDialog(id) I get an IllegalArgumentException: no dialog with id 1 was ever shown via Activity$showDialog. Ok, so that doesn't work, and I still have that messed up dialog up on the screen that I want to get rid of. How can I do that? Are there any other reasonable alternatives?
My app creates and shows an AlertDialog which accepts input from the user (the user needs to type some text into an EditInput).
With the AlertDialog on screen, if the user opens up the keyboard on the device, then the app's OnCreate and OnResume methods are called and my AlertDialog promptly disappears from the screen ... not the effect I was hoping for!
I thought that perhaps I needed to override the Activity's onConfigurationChanged method, but despite having the following in my Manifest:
I have a listview which populates the data using CheckedTextView.
Here is the xml
On item click listener, show tick on the right of the item, but not only that item shows tick other multiple items also show tick. Wierd thing is all are ticks after same number of row. I dont know where I am doing wrong.
I want to create a ListView with a RadioButton in every row. I'm using a CursorAdapter and I'm binding it in the right way, but I cannot manage correctly the RadioButton. I want that at any moment only one RadioButton to be checked (so when I check one, I would like the one that was checked before to uncheck). Furthermore, when I put the RadioButton on the row, I cannot manage anymore the setOnItemClickListener.
I am trying to perform a rating system, where with the choices to select from returns a constant number so I can insert a value into a database. My intentions are to have 3 choices, 'Great', 'Mediocre' and 'Bad'. I would like Great to be a constant for '3', Mediocre to have a constant '2' and Bad to have a constant for '1'. I would like to insert only the numerical values if possible, any easy way to do this?
Specifying margin and padding seem to add space around the entire element (button and text, together). That makes sense, but doesn't do what I need. Creating a custom drawable via XML specifying images for the checked and unchecked states, then adding a few extra pixels to the right side of each image. This should work, but now you are stepping outside the default UI. (Not the end of the world, but not ideal) Add extra whitespace to the beginning of each label. Android seems to trim a leading space character, as in " My String", but specifying unicode U+00A0, as in "u00A0My String" does the trick. This works, but it seems kinda dirty.
I have a RadioGroup inside of a RelativeLayout. I've got a few RadioButtons for different options, like "Bob", "Joe", and "Fred". However, I need to add an "Other..." option with an EditText right next to a RadioButton in case a user wants to enter "Steve". Is there a way to do this?
I want to implement RadioButton and EditText inside a row of a ListView. I am using an ArrayAdapter to populate the List. But the problem is that when i am selecting a RadioButton and scroll down the list and scroll up again the Radiobutton which had been selected is unselected. Same with the content of the EditText. The text getting removed when I scroll up.
I tries to modify the look of radiobutton: <style name="MyRadioButton" parent="android:Widget.CompoundButton.RadioButton"> <item name="android:textColor">#FF0000</item> <item name="android:background">@drawable/btn_radio</item> </style>
Android:background doesn't seem to be the right property, the radio button image gets stretched and placed in the background of the radio button itself and its label.
I have a ListView, which is in singleChoice mode. All I want is to display a RadioButton to the side, that when clicked highlights to say it is selected, and when a different one is clicked that one goes back to unselected and the new one becomes selected. Why is this so hard? This should not be this complicated. I've spent DAYS looking for an appropriate answer to this and I have found nothing, so I'm asking hopefully in a clear and concise manner.
My layout for the listview (R.layout.view_orders):
My custom row (R.layout.orders_row):
My onCreate() method:
Now everything underlying works as expected, you click on a radiobutton and through it's tag I can appropriately select that item from the list and manipulate it how I want. However, when the first radio button is clicked, the last one will be selected. Click that same radio button again, and it is now selected as well. Click it once more and nothing happens, both the last and the first are selected. Now I click any other one on the list, it gets selected like expected. Click anyone of the selected radio buttons and nothing happens, the radio button remains selected.
I have tried using the following in onCreate():
And that just shows no radio buttons at all. AWESOME.
Now maybe (read: most likely), I'm just dense and can't figure this out, but I've seen this question asked a lot with no real answer. Lots of references to other tutorials or to the Commonsware guy's book. However, the comments are old now and his repository has changed so much, that those are no longer correct answers.
So, does anyone have any idea how to get the expected functionality out of this? Or failing that, just pass me along the GMail app's source code.
I cannot unsubscribe to this group. When sending an email to the unsubscribe account, it is being rejected.
If google are reading this could you fix it? Also your ADC2 rules are unfair. Just for your information.
On Aug 21, 2009 6:40 AM, "bear tung" <beart...@gmail.com> wrote:
I want to draw some Drawables in a view, for example like Rect. Then I want to make a totate animation for each Rect when it's be clicked. I try to use RotateAnimation, but it not work. It look likes only can make a View rotating.
I have tried to figure out a way of exposing(sharing) data between a master application and slave application in a secure way (not world readable), but couldn't find clues on how to do that practically. Of course, reading articles outline that ContentProviders are for sharing persistent data, but I can't find a working example, nor the information how to setup/implement two working piece of software that can work together as different apps.The data I share is simple - ID & Data.If there's anyone that already achieved this already,
I am a new hero user and i have noticed the notifications bar not working anymore since i installed some programs yesterday. usually an envelope icon pops out of it and my phone sounds off when an sms is received but now its not working anymore.
I am trying to implement time zone change in broadcast receiver but its not working .my requirment is if i change the time zone it will go to another activity using broad cast receiver can anybody give example
The idea is to change the views, whenever I press one of the radio buttons. When I press a button the first time everything works out fine, but the second time I press a button, I get an IllegalStateException, and I can't quite see why I'm getting this.
Also, the Activity seems to set all my global variables to null, which is why I have to create them every time I switch from portrait to landscape or vice versa. So I would like to know if there is a way I can save my views in the Bundle, or any other way in which I can permanently save my views, so I don't have to add or create them every time, I flip the phone. And whenever I flip the phone, it seems that it rereads the main XML file, causing the RadioGroup to be set to 2D even if the 3D button is checked. This is because I've said the 2D button to be checked from when the app is first created, but I would like to also save the state of that RadioGroup.
so ive been playing alot of emus on my phone now and heard about the wiimote app and went to try it out but its not finding my blue tooth is there a fix to this... also is it possible to change my bt address to 30:30:30:30:30:30 so i can sync with pairing code 000000.
I couldn't find any threads on this topic but im sure its been asked so sorry in advance. Is there anyway to change my settings on my HERO to work on 3G for AT T network? or is it a hardware issue that im stuck with? then again i hear EDGE is about the same in terms of speed?
I download some data from internet in background thread (I use AsyncTask) and display a progress dialog while downlaoding. Orientation changes, Activity is restarted and then my AsyncTask is completed.I want to dismiss the progess dialog and start a new Activity. But calling dismissDialog sometimes throws an exception (probably because the Activity was destroyed and new Activity hasn't been started yet).What is the best way to handle this kind of problem (updating UI from background thread that works even if user changes orientation)? Did someone from Google provide some "official solution"?
I would like to know if the Android handsets can be configured Over-The-Air; in other words, if they can be configured for settings (such as GPRS , WAP or MMS ...) using OTA. If yes, do they support OMA CP provisioning? Is there an XML example that can be used to configure the Android devices?
I have a simple Android application that loads a page in a WebView, then most of the real work is done by the server-side scripts. Everything is working great, except that I currently have the page URL hard-coded in the Android application, sort of like this: mWebView.loadUrl("https://www.my-application-url.com");
This was fine until this morning when I was asked to to make it so that the user is prompted to enter the URL the first time the application run, and the URL that is entered by the user is then saved and used automatically by the application from that point onward. I was also asked to make it so that the user can change the URL if they choose to do so. The reason I was asked to do this is so that users can install the server side of the application on their own servers and my Android application will be able to connect without me having to write a custom version for each user, with their URL hard-coded into the application.
I am unsure what is the best way to handle this in Android. It seems that I probably need to add some type of configuration interface to the application that is shown by default on the first run, then only when the Menu button is pressed on the following runs. From this configuration interface I guess I would then get the URL from the user and serialize it for future use. What is the best way to accomplish this?
if anyone has difficulty playing games e.g. drving games, dont know if its something i'm doing wrong, but I can turn left or right, i.e. the car keeps steering to the left and tilting the phone isn't working. It is something I have not setup or am I doing it all wrong
I just bought a Telus HTC Hero, which the seller had unlocked. I intend to use this phone with another carrier, Bell. After spending a few hours at Bell customer service, they finally managed to get the 3G data working (for weather, email etc.). However, the browser does not work, neither does the Market.
What seems to be causing the problem is that this phone is MASSIVELY tweaked (appears massive to me probably because I'm not that big on tweaking and don't know about the Android OS in general) by the previous owner who only had it for a few days. The Bell customer service person told me that they switched over a couple of other HTC devices from Telus that were NOT tweaked and the data works perfectly.
All I want is for the phone to be in original factory settings, with original ROMs, firmwares, software, etc. etc. Just looking at the whole bunch of different files that this guy had on the 2GB "gold" memory card made my head spin. He attempted to explain to me with all the "updates" and fancy "roms" and "roots" and crap that I didn't understand nor do I want to spend the time to learn.
I understand that a lot of people buy android phones because they love tweaking but I am not really into all that... I just wanted the phone for the form factor and the functionality and I don't want to worry about optimizing and whatnot. So my question is: is there any way to get the phone back to the most original possible software condition? I just want it "clean." Can I go ahead and wipe everything that is on the 2 GB card? What do I do? I performed a hard reset and it took me to some weird startup screen and I chose the first option which is like reboot now (there were also a bunch of other options including apply update.zip or something)... it still gave me the same MoDaCo build.
I can provide any information but I would really appreciate any help in restoring my seemingly very tweaked phone to original, factory settings, so it could be like any other phone being sold by Telus other than the fact that it is unlocked.
I've only owned an Android for 6 days (Samsung Galaxy S i9000) and one of the first things I installed was Juice Defender, having used iPod Touch extensively, I know how heavy on battery things like WiFi can be. Anyway, JD makes the phone really really leggy. It can take a minute sometimes (literally, 45-65 seconds) for the JD screen to come up when launched. Similarly when waking from sleep it takes ages for the data connections to become active again. Have I misconfigured JD? Is it really this slow and creates this much lag? Does it just not like the (fairly new) i9000? I've just uninstalled it there right now (left Ultimate Juice on) and the phone is much snappier. It's like using it for the first time. Which, considering JD was installed in the first half hour of my owning the phone, it kind of is. What I really wanted was the WiFi on/off according to cell tower location data so I can have it go on and off when I leave the house. Guess it's no real biggie. Having limited background data (e.g. the 2 mins per 15) is handy too. Are there any other apps which have JD functions - even if more limited in scope - that I can try?