inflaters有什么区别

时间:2013-09-23 14:24:25

标签: android layout-inflater

之间有什么区别
LayoutInflater inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

inflater = LayoutInflater.from(activity);

1 个答案:

答案 0 :(得分:5)

  

inflaters之间有什么区别

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

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

的新实例

由您决定采用哪种方法。我通常使用LayoutInflater.from();方法,从来没有遇到过问题。我不需要从Object进行投射,而且它会制作一个技巧。

正如@CommonsWare所提到的,你也可以打电话给

getLayoutInflater()

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

((Activity) context).getLayoutInflater();

但我认为,当您不参加活动时,拨打LayoutInflater.from();而不是上述方法会更加轻松高效。