2010-07-26 124 views
1

我正在读这本书'你好,Android'。在Sudoku示例中,它使用选项菜单。它需要一个MenuInflater,我们用它从XML读取菜单定义并将其转换为真实视图。 要使用按钮,textview或许多其他视图,我不需要夸大它们。我什么时候需要充气器?

我的问题是,在什么情况下,我需要充气器?为什么Android不像其他视图那样处理菜单?

回答

1

您需要在每个想要动态创建XML文件视图的地方使用充气器。当你调用setContentView()因为他们总是需要

Activity布局自动充气。
但是当需要菜单—这是当用户第一次按压菜单按钮—的XML定义的布局需要手动充气。同样,如果你有一个ListView,你事先并不知道哪些行将存在,所以我们必须从列表中的每一行为XML填充View,因为它们是必需的。

+0

我是新来的Android,并试图创建一个列表视图,显示简单的文本列表。我创建了以下覆盖适配器
public View getView(int position,View convertView,ViewGroup parent){ \t \t TextView tv = new TextView(context); \t \t tv.setText(searchEngines.get(position).Name); \t \t return tv; \t} 我没有使用任何充气器,但它的工作原理。当使用充气器是绝对必要的时候,我很困惑 – helloworld 2012-08-07 11:51:20

1

充气器主要用于将Xml布局解析为视图对象。如上所述,在Xml中定义用于操作和开发开发人员的UI之间建立联系需要通货膨胀。

每当需要UI更新用,我们需要通胀和UI更新用通过视图对象和开发人员做可以动态创建视图,并添加到现有的视图。 因此,通胀有助于开发人员根据程序中的指定条件更改xml布局中UI的行为。 随着通货膨胀,我们可以在MVC中为每个xml布局定义控制器,其中xml是查看。 菜单也已到充气在某些码,例如的setContentView的图(specifiedLayout)包括通货膨胀 但在早期版本它不是这样它像setContextView(getInflater()。膨胀(specifiedLayout))

为了便于编程,android开发人员已经在setContentview()中引入了通货膨胀,并且有很多场景,比如将视图添加到布局addView()等等。在大多数情况下,通货膨胀已经包含在代码中,为什么大多数初学者都知道通胀概念并且很难理解android中的通货膨胀。

相关问题