Strange problem on Honeycomb (BUG/GLITCH FOUND!)
I had a user request a refund today because he said that some views were overlaying other views. (That is kind of a mix of his words and mine).
Basically, my app has its normal layout with an extra panel that is normally invisible. When they click a button to do something, I load another layout into that panel then set the panel to be visible. When the user presses the back button, this panel gets hidden (visible = false). Basically I toggle the visibility on it in order to show or hide it.
This works on every AVD I have with a variety of APIs EXCEPT Honeycomb. I have tried it with 3.0 and 3.1 AVDs. It might work normally once or twice, but after a while, while the panel itself seems to go away, the views (buttons) that were loaded onto it stay on the screen but behind the views on its parent (the activity). These views that should not be there cannot be clicked on. Also, loading another full screen panel (a different function of the app) makes these ghost views disappear.
Another strange problem I noticed:
I have another layout that contains a full-screen partially transparent panel (alpha 200). This works similarly to the other one, except the panel and its views are all contained in a single layout. On every AVD I tested, this works fine. The "dimming panel" as I call it appears with a smaller panel with buttons on top of that. The dimming panel effectively dims the background, making it look very slick. Except on honeycomb, the panel seems to be there (I cannot click on stuff underneath it) but it is fully transparent. Even stranger is that the user can click a button on the top panel which hides that top panel and shows yet another panel (dimming panel is parent to both). When you do this, THEN the dimming panel appears slightly dim as it SHOULD and not transparent. :BangHead:
I just don't get it. These things work fine on everything but Honeycomb. Why? At this point, I don't know if the guy really had this problem and if so, is it going to happen to everyone or does he just have a dog of a tablet? I know that running things on the emulator often produces weird glitches like this, but I didn't think they should happen on a real device.
Any ideas?
PanelQS is contained in MyLayout and its parent is the activity.
This part loads another layout onto the full screen panel (PanelQS). It checks to see if it can set a property on txtSearch in order to see if it has been loaded. If not, it loads the layout into the panel. This other layout contains an EditText (txtSearch) and several buttons.
This part hides the panel. But on Honeycomb (AVD, and possibly for an actual user), the panel seems to hide but the other views loaded on it usually end up staying on the screen but behind the other views on the main activity.
See my post below (#5). I believe I found a bug.
I had a user request a refund today because he said that some views were overlaying other views. (That is kind of a mix of his words and mine).
Basically, my app has its normal layout with an extra panel that is normally invisible. When they click a button to do something, I load another layout into that panel then set the panel to be visible. When the user presses the back button, this panel gets hidden (visible = false). Basically I toggle the visibility on it in order to show or hide it.
This works on every AVD I have with a variety of APIs EXCEPT Honeycomb. I have tried it with 3.0 and 3.1 AVDs. It might work normally once or twice, but after a while, while the panel itself seems to go away, the views (buttons) that were loaded onto it stay on the screen but behind the views on its parent (the activity). These views that should not be there cannot be clicked on. Also, loading another full screen panel (a different function of the app) makes these ghost views disappear.
Another strange problem I noticed:
I have another layout that contains a full-screen partially transparent panel (alpha 200). This works similarly to the other one, except the panel and its views are all contained in a single layout. On every AVD I tested, this works fine. The "dimming panel" as I call it appears with a smaller panel with buttons on top of that. The dimming panel effectively dims the background, making it look very slick. Except on honeycomb, the panel seems to be there (I cannot click on stuff underneath it) but it is fully transparent. Even stranger is that the user can click a button on the top panel which hides that top panel and shows yet another panel (dimming panel is parent to both). When you do this, THEN the dimming panel appears slightly dim as it SHOULD and not transparent. :BangHead:
I just don't get it. These things work fine on everything but Honeycomb. Why? At this point, I don't know if the guy really had this problem and if so, is it going to happen to everyone or does he just have a dog of a tablet? I know that running things on the emulator often produces weird glitches like this, but I didn't think they should happen on a real device.
Any ideas?
B4X:
Activity.LoadLayout ("MyLayout")
PanelQS.SetLayout (0,0,100%x,100%y):PanelQS.Visible = False
PanelQS is contained in MyLayout and its parent is the activity.
This part loads another layout onto the full screen panel (PanelQS). It checks to see if it can set a property on txtSearch in order to see if it has been loaded. If not, it loads the layout into the panel. This other layout contains an EditText (txtSearch) and several buttons.
B4X:
Try ' Layout may already be loaded
txtSearch.Visible = True
Catch
PanelQS.LoadLayout ("QuickSearch")
Log ("Load QS layout onto PanelQS")
End Try
This part hides the panel. But on Honeycomb (AVD, and possibly for an actual user), the panel seems to hide but the other views loaded on it usually end up staying on the screen but behind the other views on the main activity.
B4X:
PanelQS.Visible = False
See my post below (#5). I believe I found a bug.
Last edited: