首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >inflater.inflate()做了什么?

inflater.inflate()做了什么?
EN

Stack Overflow用户
提问于 2014-12-02 18:52:20
回答 2查看 8.1K关注 0票数 3

我看了API,但不能很好地理解。我不能理解这种方法的结果。我对Android完全陌生,需要帮助。

代码语言:javascript
复制
package com.javacodegeeks.android.fragmentstest;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class FragmentTwo extends Fragment
{
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
        return inflater.inflate(R.layout.fragment_two, container, false);
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-02 18:58:25

您在xml文件中定义了一个View。例如,你有一个列表行的layout

您希望从该xml创建一个View。例如,您的ListAdapter要求您在ListAdapter.getView()中为列表行创建一个View

因此,通过使用inflater.inflate(),您可以从您的XML文件创建View

还有一个静态方法View.inflate(),它也做同样的事情。

票数 5
EN

Stack Overflow用户

发布于 2016-10-14 14:51:59

基本上,Inflate是一个解析第一个参数view并将其放入第二个参数ViewGroup中的方法。第三个参数说,现在是否将视图放在ViewGroup中?如果它是false,你将不得不手动addView(view),它的好处可能是如果你想添加一个基于条件的视图,

代码语言:javascript
复制
If (view != null){
addView(view);
}

如果您没有指定它,那么默认情况下它是真的。inflate(R.layout.popup,myLinearLayout,true);基本上,将名为Popup.xml的布局文件更改为真正的布局,而不仅仅是文本,然后放入本例中指定的LinearLayout中,它是myLinearLayout,True说put it now,我之前没有任何条件或任何事情可以做。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27247589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档