据我所知,LayoutInflater将XML转换为Views。但是当我在代码中使用Buttons,TextViews或其他小部件时,我只需要使用findViewById()而不必首先充气这些视图。这些观点会自动膨胀吗?如果是这样,视图何时自动膨胀,何时需要手动充气?
答案 0 :(得分:2)
您只需要膨胀xml布局,然后将自动显示所有视图组和视图(按钮,textview,edittext等)。
因此在Activity类中,oncreate方法有一行SetContentview(),这会使xml布局膨胀。
答案 1 :(得分:1)
如果您手动创建活动和xml,则会手动充气。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.your_activity);
}
答案 2 :(得分:1)
Activity
需要在其setContentView(R.layout.<your_layout_here>)
方法中调用onCreate
。这会将指定布局中的XML扩展为Activity
的视图层次结构。对于Fragment
,请覆盖onCreateView
方法,如下所示:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.<your_layout_here>, container, false);
}
一旦您将布局(及其所有子级View
)夸大到视图层次结构中,您就可以使用findViewById(R.id.<your_view_id>)
来获取对实际{{1}的引用你已经膨胀到层次结构中并使用它的对象。
答案 3 :(得分:1)
这里几乎没有:
1。 查看您的活动(用户界面屏幕) ,由 setContentView()设置 方法。
2。 查看特定用户界面组件 ,例如按钮,可以在您的activity_layout 的 xml中创建,也可以为特定的UI组件为单独的xml布局文件充气。最好的示例和用法就像为自定义Toast充气xml布局文件。
因此,这里涉及setContentView()并为单独的视图膨胀xml布局文件: 这些 为视图和视图组件提供了两种,两者都为布局创建二进制输出,并按上述方式使用它们。< / p>