Skip to content

test app showing problems with programmatic creation of Android lightweight windows in Titanium

Notifications You must be signed in to change notification settings

bangslosan/AndroidTabGroup

 
 

Repository files navigation

Project that reproduces an issue with creating TiViewProxy objects inside a module. The call to createLightweightWindow() should create and display a lightweight window attached to the root activity with a label reading "this is a lightweight window". The problem is that the label does not appear in the window. The createWindow() function in the module is identical but instead of creating a BaseWindowProxy object, it creates an ActivityWindowProxy object and the label shows up. Stringifying the window's children show the label object with the proper height and width, but both the size and rect members contain zero for all properties.

2012-10-25

I missed this line in the debug log earlier:

[exec] [DEBUG] D/Window  (  911): unable to open, window is not closed

That string is from modules/ui/src/js/window.js. Looking at that JavaScript file, it seems that the Ti.UI.createWindow function is defined there and several critical properties like _children and currentState are set in that function. I think that calling createWindow() from JavaScript runs this code, which then calls into the native code to create either a TiBaseWindowProxy or ActivityWindowProxy. This would also explain why I was getting an error indicating that _children was null in ti:/window.js when I tried to add a label to a TBaseWindowProxy created in the module.

I'm stumped at this point. It appears that we can't create a lightweight window without going through window.js.

About

test app showing problems with programmatic creation of Android lightweight windows in Titanium

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published