【问题标题】:Difference between Activity.getLayoutInflator() vs Context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)Activity.getLayoutInflator() 与 Context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) 之间的区别
【发布时间】:2014-08-22 14:35:59
【问题描述】:

我有一个布局,它定义了一个没有特殊样式、主题或颜色的 EditText,基本上它使用默认的。默认的就OK了。

我正在使用 activity.getLayoutInflator() 从我的适配器中扩展此布局,它非常完美,正是我想要的方式。但后来我尝试将其更改为使用context.getSystemService(Context.LAYOUT_INFLATER_SERVICE),因此我删除了对活动的直接引用。它完全弄乱了我的 EditText 的 hinttext color 的颜色。

最初我认为它们是相同的东西,只是访问它的方式不同,但现在我看到它们产生了不同的结果,尽管布局成功膨胀。这是为什么呢?

【问题讨论】:

    标签: android android-activity layout-inflater android-context


    【解决方案1】:

    getLayoutInflater()Activity 上返回的LayoutInflater 考虑了您应用的主题;来自其他一些ContextLayoutInflatergetSystemService() 没有。

    这就是为什么在Dave Smith's excellent blog post on Context 的表格中,您尝试使用活动来扩展布局。

    【讨论】:

      猜你喜欢
      • 2012-08-21
      • 1970-01-01
      • 2019-04-09
      • 2014-10-30
      • 2021-12-07
      • 2016-02-09
      • 2016-05-14
      • 2016-10-11
      相关资源
      最近更新 更多