赞
踩
1 | savedInstanceState.putInt("key1", 0);
2 | savedInstanceState.putString("key2", "savedInstanceState test");
public View inflate(int resource, ViewGroup root)
public View inflate(int resource, ViewGroup root, boolean attachToRoot)
public View inflate(XmlPullParser parser, ViewGroup root)
public View inflate(XmlPullParser parser, ViewGroup root, boolean attachToRoot)
三个参数,分别是:
1. resource 布局的资源id
2. root 填充的根视图
3. attachToRoot 是否将载入的视图绑定到根视图(LinerLayout)中
inflater.inflate(R.layout.left_fragment, container, false)方法用于在Activity中加载一个布局文件,将其转化为一个View对象,并将这个View对象添加到指定的容器中,返回这个View对象。参数R.layout.left_fragment表示加载的布局文件,container表示将其添加到的容器,false表示是否将其添加到container中,这里表示不添加,返回的是该View对象。它通常用于Activity或Fragment中使用,主要用于初始化UI布局。
LayoutInflater.from(parent.getContext()).inflate(R.layout.fruit_item, parent, false)方法用于加载一个RecyclerView或ListView中的一个列表项,并返回这个View对象。parent.getContext()表示获得列表项的父容器,即RecyclerView或ListView的父容器,然后将布局文件R.layout.fruit_item转化为一个View对象,并将这个View对象添加到RecyclerView或ListView的父容器中,返回这个View对象。这里的false表示不将这个View对象附加到父容器中。它主要用于优化RecyclerView的性能,避免在滑动过程中多次调用findViewById()方法。
综上所述,这两种方法的主要区别在于应用场景。
第一种方法主要用于初始化UI界面布局
第二种方法主要用于优化RecyclerView或ListView的性能,避免频繁地调用findViewById()方法。
注意:容器是指在Android布局中用于存放其他控件的控件,例如LinearLayout、RelativeLayout等。
而父容器指的是包含子控件的最外层容器,即在XML文件中定义布局的最外层控件,是一个顶级容器。
在使用LayoutInflater.inflate()方法时,第二个参数表示将该View添加到哪个容器中,而第三个参数表示是否添加该View。
当第三个参数为true时,表示添加该View到第二个参数容器中,当第三个参数为false时,表示该View并不自动添加到第二个参数容器中。
而在LayoutInflater.from()方法中,第二个参数parent就表示父容器,即该View的直接上级容器。
通过静态方法 makeText()创建出一个 Toast 对象,然后 show()出来就可以了。
makeText()方法需要传入 3 个参数。
第一个参数是 Context,由于活动本身就是一个 Context 对象,因此这里直接传入MainActivity.this 即可。
第二个参数是 Toast 显示的文本内容。
第三个参数是 Toast显示的时长,有两个内置常量可以选择 Toast.LENGTH_SHORT 和 Toast.LENGTH_LONG。
1 |Toast.makeText(MainActivity.this,"Hello World!",Toast.LENGTH_SHORT).show();
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。