我浏览了API,但无法理解。我无法理解这种方法的结果。我是Android和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);
}
}
答案 0 :(得分:5)
基本上,Inflate是一种解析第一个参数view
并将其放在第二个参数ViewGroup
内的方法。
第三个参数说,现在把视图放在ViewGroup
或不是?
它是假的,你必须手动addView(view)
,如果你想根据条件添加一个视图,它的好处是
If (view != null){
addView(view);
}
默认情况下,如果您未指定它,则为true。 膨胀(R.layout.popup,myLinearLayout,TRUE); 基本上,将名为Popup.xml的布局文件更改为实际布局&不只是文本,然后放入在这种情况下指定的LinearLayout内部,它是myLinearLayout,True说现在说,我没有任何条件或任何事情要做。
答案 1 :(得分:4)
您的xml文件中定义了View
。例如。你有一个列表行layout
。
您想要从该xml创建View
。例如。您的ListAdapter
要求您为View
中的列表行创建ListAdapter.getView()
;
因此,使用inflater.inflate()
可以从XML文件中创建View
。
还有一个静态方法View.inflate()
也可以这样做。
答案 2 :(得分:0)
inflater.inflate将 -
从指定的xml资源中膨胀新的视图层次结构。如果出现错误,则抛出InflateException。
简单来说,需要inflater.inflate来从XML创建视图。它就像解析或转换XML以生成UI一样。