onCreate中的LinearLayout高度为0

Chr*_*r0n 22 android

我正在尝试根据(屏幕高度 - 我的布局高度)/ list.size动态调整行的高度.

不幸的是,在onCreate方法中,布局高度返回null(当我在单击侦听器中调用它时不是这样).

还有其他方法我可以称之为吗?

Rom*_*Guy 56

你必须等到布局发生后才会发生onCreate().您可以通过收听onSizeChanged()视图或发布Runnable来执行此操作onCreate() (myView.post(new Runnable() { ... })).

  • UI事件队列将按顺序处理事件.调用setContentView()之后,事件队列将包含一条要求重新布局的消息,因此在布局传递后,您发送到队列的任何内容都将发生. (21认同)
  • 为什么在`View`中发布`Runnable`可以保证在布局发生后执行`Runnable`中的代码?一旦布局发生,"查看"的设计特征是"处理程序"处理消息吗? (10认同)
  • 为此目的没有明确可靠的回调这一事实对所有Android开发者都是犯罪. (8认同)
  • Android是针对所有Android开发者的犯罪行为. (5认同)
  • 2行比10页文档更容易...简单而重要... thnx ... (2认同)