【问题标题】:What is the difference between the inflaters充气机有什么区别
【发布时间】:2013-09-23 14:24:24
【问题描述】:

做和做有什么区别

LayoutInflater inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

inflater = LayoutInflater.from(activity);

【问题讨论】:

    标签: android layout-inflater


    【解决方案1】:

    充气机有什么区别

    不同之处在于,在第二个示例中(通过静态方法),您不需要将 Object 强制转换为 LayoutInflater,因为它直接返回 LayoutInflater 实例。

    第一种情况通常返回您必须显式转换为LayoutInflater 的对象。但是这两种方法的结果都是LayoutInflater的新实例

    由您决定采用哪种方法。我通常使用LayoutInflater.from(); 方法,从来没有问题。我不需要从 Object 进行投射,它会成功的。

    正如@CommonsWare 提到的,你也可以调用

    getLayoutInflater()
    

    如果你在Activity 类中(它是Activity 的方法)。但是当您不在 Activity 中时,您需要有 Context 变量,然后您可以调用(例如从 ListAdapter):

    ((Activity) context).getLayoutInflater();
    

    但我认为,当您不在 Activity 中时,调用 LayoutInflater.from(); 而不是上面的方法更容易和有效。

    【讨论】:

    • 更简单的方法是在您的Activity 上拨打getLayoutInflater()
    • 它不是来自一个活动,而是一个列表视图适配器
    • @CommonsWare 但你并不总是在活动中,但我同意你的看法,但所有提到的方法的结果都是一样的,所以我怎么说,这仅取决于开发人员他会选择哪种方式。跨度>
    • @Sajmon:“但你并不总是在活动中” - 是的,尽管 OP 是,基于问题。
    猜你喜欢
    • 2020-03-21
    • 1970-01-01
    • 2011-02-18
    • 2020-03-27
    • 2016-03-08
    • 1970-01-01
    • 1970-01-01
    • 2010-10-23
    • 1970-01-01
    相关资源
    最近更新 更多