inflater.inflate()有什么作用?

anj*_*nju 3 android

我通过了API,但不能理解.我无法理解这种方法的结果.我是Android新手,需要帮助.

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);
    }
}
Run Code Online (Sandbox Code Playgroud)

Ahm*_*yed 7

基本上,Inflate是一种解析第一个参数view并将其放在第二个参数内的方法ViewGroup.第三个参数说,现在把视图放在ViewGroup或不?这是假的,你必须手动addView(view),如果你想根据条件添加一个视图,它的好处是,

If (view != null){
addView(view);
}
Run Code Online (Sandbox Code Playgroud)

如果您没有指定它,则默认为true.膨胀(R.layout.popup,myLinearLayout,TRUE); 基本上,将名为Popup.xml的布局文件更改为真正的布局而不仅仅是文本,然后放入在这种情况下指定的LinearLayout内部,它是myLinearLayout,True表示现在就说,我之前没有条件或任何事情要做.


Ale*_*tin 5

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

您想View从该 xml创建一个。例如,您ListAdapter需要View为 中的列表行创建一个ListAdapter.getView();

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

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