layoutinflater.inflate和layoutinflater.from之间的区别

时间:2016-08-07 15:18:00

标签: android layout-inflater

  1. layoutinflater.inflate()layoutinflater.from()有什么区别?

  2. 为什么在layoutinflater.from()的{​​{1}}中使用了onCreateViewHolder()

  3. RecyclerViewgetItemCount()的目的是什么?

3 个答案:

答案 0 :(得分:1)

layoutinflater.inflate用于通过已经包含活动上下文的活动或片段来扩充xml布局

layoutinflater.from用于获取要扩充xml布局的布局inflater的上下文(例如,访问活动上下文所需的适配器类中的xml资源文件)

答案 1 :(得分:1)

  1. layoutinflater.inflate vs layoutinflater.from
    Here's a link to the documentation
    LayoutInflater.from将从给定的上下文返回一个LayoutInflater对象。 layoutinflater.inflate将从资源中膨胀一个新视图,并允许您将它附加到父视图。

  2. 为什么在Recycler视图中的onCreateViewHolder方法中使用layoutinflater.from?
    这样做是为了让你可以获得对你的上下文的layoutinflater的引用(即你的活动)并使用该引用然后调用inflate()方法,你可以在其中指定recyclerview项目的布局xml的id。

  3. 在Recycler视图中getItemCount方法的用途是什么?
    Check out the documentation
    如果您没有直接引用支持适配器的数据集,则此方法很有用。

答案 2 :(得分:1)

  

layoutinflater.inflatelayoutinflater.from之间的区别是什么?

在语义上它们是相同的,只是syntactic sugar

  

为什么layoutinflater.from用于RecyclerView中的onCreateViewHolder方法?

onCreateViewHolder方法中,您应该实例化一个占位视图,稍后将用于显示一行。如果要从xml文件实例化行视图,则应该对提供视图的文件进行充气。通胀过程是通过LayoutInflater对象完成的。如果您不想使用xml,那么您将不再需要这种充气效果。

  

getItemCountrecyclerView方法的目的是什么?

如果没有这个,那个回收者视图如何知道这个列表会有多少行? Recycler视图首先调用此方法,然后根据它调用onCreateViewHoldergetItem方法。