Inflater与findViewById()区别

/**
             * Inflater英文意思是膨胀,在Android中应该是扩展的意思吧。 LayoutInflater的作用类似于
             * findViewById(),不同点是LayoutInflater是用来找layout文件夹下的xml布局文件,并且实例化! 而
             * findViewById()是找具体某一个xml下的具体 widget控件(如:Button,TextView等)。
             */

            // LayoutInflater的作用是,把一个View的对象与XML布局文件关联并实例化
            LayoutInflater inflater = (LayoutInflater) listviewActivity.this
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

            // LayoutInflater的作用是,把一个View的对象与XML布局文件关联并实例化
            View itemView = inflater.inflate(R.layout.listview_item, null);

            // View的对象实例化之后,可以通过findViewById()查找布局文件中的指定Id的组件
            TextView title = (TextView) itemView.findViewById(R.id.txttitle);
            TextView text = (TextView) itemView.findViewById(R.id.txtContent);
时间: 2024-11-15 23:23:57

Inflater与findViewById()区别的相关文章

View.findViewById()和Activity.findViewById()区别

在网上看见View.findViewById() 和 Activity.findViewById()执行效率不一样 使用Activity.findViewById()如: TextView tv_inner_1 = (TextView)this.findViewById(R.id.tv_inner_1); TextView tv_inner_2 = (TextView)this.findViewById(R.id.tv_inner_2); 使用View.findViewById() 如: Vie

6、Android之LayoutInflater.inflate()

LayoutInflater.inflate()的作用就是将一个xml定义的布局文件实例化为view控件对象: 与findViewById区别: LayoutInflater.inflate是加载一个布局文件: findViewById则是从布局文件中查找一个控件: 一.获取LayoutInflater对象有三种方法 LayoutInflater inflater=LayoutInflater.from(context); LayoutInflater inflater=getLayoutInf

android LayoutInflater.inflate()的参数介绍

LayoutInflater.inflate()的作用就是将一个xml定义的布局文件实例化为view控件对象: 与findViewById区别: LayoutInflater.inflate是加载一个布局文件: findViewById则是从布局文件中查找一个控件: 一.获取LayoutInflater对象有三种方法 LayoutInflater inflater=LayoutInflater.from(context); LayoutInflater inflater=getLayoutInf

ListView优化-ViewHolder缓存

安卓开发中ListView控件是一个使用频率相当的高级控件,通常用于展示一系列相似度极高的数据,当数据量极大或布局相当复杂时,ListView的性能优化就显得非常重要.所以在开发中不但功能上要满足,而且在性能上也不能马虎.        使用ListView是一个标准的适配器设计模式,ListView把数据.XML布局和Adapter有极地结合在一起完成一系列的展示功能.在ListView的数据展示中,每次滑动ListView都会触发getView()方法的调用,并且XML定义的布局是在也是在适

inflate方法与findViewById的区别

LayoutInflater作用是将layout的xml布局文件实例化为View类对象. 对于一个没有被载入或者想要动态载入的界面,都需要使用LayoutInflater.inflate()来找 res/layout下的 xml 布局文件,并且实例化为View类对象: 获取LayoutInflater的方法有如下三种: LayoutInflater inflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_

findViewById中NullPointerException的错误

最近在弄一个对话框的登录时,发现一个总是报NullPointerException的错误,折腾了两小时,一直没有发现细小的区别..先上图,一边说明原因 首先是 Activity类中定义的findViewById() * There are two methods almost all subclasses of Activity will implement: * * <ul> * <li> {@link #onCreate} is where you initialize you

【Fragment精深系列5】fragment findViewById()返回null完全解析

一.引入 ??你是不是经常遇到在fragment中调用findViewById方法寻找fragment布局文件中的控件返回null的现象.我之前也遇到了这个问题,虽然后来解决了,但是心中一直有疑惑,最近有时间停下来,结合别人的解答和自己的思考,对这个问题进行彻底的梳理. 二.使用getActivity().findViewById 1.getActivity的介绍 ??Fragment中有一个getActivity()的方法.返回与Fragment关联的Activity对象(通过该对象可以查找a

inflater.inflate()的参数含义

inflate()的作用就是将一个用xml定义的布局文件查找出来,注意与findViewById()的区别,inflate是加载一个布局文件,而findViewById则是从布局文件中查找一个控件. 1.获取LayoutInflater对象有三种方法 LayoutInflater inflater=LayoutInflater.from(this);LayoutInflater inflater=getLayoutInflater();LayoutInflater inflater=(Layou

setContentView和inflate区别

一般用LayoutInflater做一件事:inflate inflate这个方法总共有四种形式(见下面),目的都是把xml表述的layout转化为View对象.其中有一个比较常用,View inflate(int resource, ViewGroup root),另三个,其实目的和这个差不多. int resource,也就是resource/layout文件在R文件中对应的ID,这个必须指定.而ViewGroup root则可以是null,null时就只创建一个resource对应的Vie