【问题标题】:How to get fragment's event, when it layouts it's child layouts?如何获取片段的事件,当它布局它的子布局时?
【发布时间】:2019-11-12 23:28:45
【问题描述】:

在我的 android studio 项目中,我有一个片段(类是 MainFragment)和一个滚动视图。在 MainFragment 类中,我想获取事件,当片段已经布局它的子视图时。即我想调用一个方法scrollview.getHeight()而不是得到0,因为系统尚未计算scrollview的实际高度。有什么解决办法吗?

【问题讨论】:

标签: android layout fragment


【解决方案1】:

@Resume 上完成所有工作,此时片段已创建并添加了布局,因此您应该有高度

  @Override
  public void onResume() {
    super.onResume();
    // your code here ... 
  }

【讨论】:

  • 再次返回 0。
【解决方案2】:

您可以使用onViewCreated 方法。它在创建视图时调用,因此您不会从那里获得 0 高度。

@Overrride
void onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)
    scrollView.doOnPreDraw {
        println("Height: "+it.height)
        println("Mesured Height: "+it.measuredHeight)
    }
}

【讨论】:

  • 再次返回 0。
  • @VahagChakhoyan 我更新了我的答案。请立即检查。如果有效,请不要忘记投票并标记为正确!如果没有,请告诉我。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-07
  • 1970-01-01
  • 1970-01-01
  • 2017-07-27
  • 2014-01-10
  • 2015-08-13
相关资源
最近更新 更多