4

做和做有什么区别

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

inflater = LayoutInflater.from(activity);

4

1 回答 1

5

充气机有什么区别

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

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

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

正如@CommonsWare 提到的,您也可以致电

getLayoutInflater()

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

((Activity) context).getLayoutInflater();

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

于 2013-09-23T14:30:02.700 回答