Android Question panel.loadlayout, warnings and the chicken and the egg

Discussion in 'Android Questions' started by leitor79, May 28, 2015.

  1. leitor79

    leitor79 Active Member Licensed User

    Hi,

    I'm using a customlistview loaded with custom panels I load with loadlayout.

    I'm getting the well-known warning
    Code:
    Panel.LoadLayout should only be called after the panel was added to its parent. (warning #1001)
    However, I don't know how to solve it. I'm having a problem with changing the loadlayout after the .Add, and here's why:

    - I have a label on the panel.

    - the height of the label is variable, and I set it after loading the panel's layout (since I have a Dim lblMyLabelNamedAsInTheLayoutFile As Label declared at Sub Globals, and then I do lblMyLabelNamedAsInTheLayoutFile.Height=iVariableHeight)

    - The panel I add also has a variable height. lstCustomListView.Add(tmpPanel,iVariableHeight,objMyObject)

    - The label and panel heights are calculated using StringUtils library. So, I have to have them declared in order to calculate the height I need.

    - So, if I move the lstCustomListView.Add before the LoadLayout, I get rid of the warning but I have no height set.

    - I've tried to Add the panel with 0 height and change it later, but it has no effect on the UI.

    - Also, I've think of manually initializing the label, but I remember reading "YOU SHALL NOT INITIALIZE VIEWS DECLARED IN THE LAYOUT" (or something like that). Besides, If I do this, I loose the ability to use the layout as a template so I don't have to code fonts sizes, types, etc.

    - Using an auxiliary label feels the same since I also have to mantain the font properties by code If I decide to change them.



    HELP!!!! hahaha


    Thank you very much!
     
  2. Erel

    Erel Administrator Staff Member Licensed User

    If you are not using anchors, auto scale or any other script in this layout file then you can safely ignore this warning.

    The other option is to first add the panel to a different panel and then load the layout. You can later remove the panel from the first one.
     
  3. leitor79

    leitor79 Active Member Licensed User

    Hi Erel, thank you very much for your answer!

    Yes, I'm using a lot of anchors and scales, that's one of the reasons I'm using a layout file... and the script seems not to be working and I didn't wanted to ask about that until I solve the waring issue first; It didn't occured to me that both issues were related.

    I'll try the auxiliary panel workaround and I'll get back tomorrow.

    Thank you very much!!
     
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice