`
chan.d
  • 浏览: 32823 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

LayoutInflater.from()和LayoutInflater.inflate()方法

 
阅读更多

 

通俗的说,inflate就相当于将一个xml中定义的布局找出来.
因为在一个Activity里如果直接用findViewById()的话,对应的是setConentView()的那个layout里的组件.

因此如果你的Activity里如果用到别的layout,比如对话框上的layout,你还要设置对话框上的layout里的组件(像图片ImageView,文字TextView)上的内容,你就必须用inflate()先将对话框上的layout找出来,然后再用这个layout对象去找到它上面的组件,如:

LayoutInflater inflater = LayoutInflater.from(this);
View view = inflater.inflate(this, R.layout.dialog_layout, null);
TextView dialogTV = (TextView) view.findViewById(R.id.dialog_tv);
dialogTV.setText("abcd");

如果组件R.id.dialog_tv是对话框上的组件,而你直接用this.findViewById(R.id.dialog_tv)肯定会报错.

分享到:
评论

相关推荐

    LayoutInflater.from(context).inflate()方法的调研

    总之,`LayoutInflater.from(context).inflate()`方法是Android UI开发中的关键工具,理解其工作原理和用法对于提升应用性能和用户体验至关重要。熟练掌握这一方法,能帮助开发者更加灵活地构建动态和交互丰富的用户...

    Android 中LayoutInflater.inflate()方法的介绍

    LayoutInflater对象的实例可以通过LayoutInflater.from(Context)方法或getLayoutInflater()方法获取。inflate()方法的基本用法为:View view = inflater.inflate(layoutRes, root, attachToRoot)。其中,layoutRes是...

    Android中LayoutInflater.inflater()的正确打开方式

    LayoutInflater在开发中使用频率很高,但是一直没有太知道LayoutInflater.from(context).inflate()的真正用法,今天就看看源码的流程。 首先来看from()的源码: /** * Obtains the LayoutInflater from the ...

    博客《ListView滑动删除实现之一——merge标签与LayoutInflater.inflate()》对应源码

    博客《ListView滑动删除实现之一——merge标签与LayoutInflater.inflate()》对应源码,博客地址:http://blog.csdn.net/harvic880925/article/details/45155965

    Android LayoutInflater.inflate()详解及分析

    Android LayoutInflater.inflate...我尝试在Google官方文档与网络上其他讨论中寻找有关的说明,而后发现许多人不但不清楚LayoutInflater的inflate()方法的细节,而且甚至在误用它。 这里的困惑很大程度上是因为Google

    Android代码-可高度定制样式的安卓日历控件

    return LayoutInflater.from(parent.getContext()).inflate(R.layout.view_calendar_item, parent, false); } // @Override public void setDate(View itemVew, int year, int month, int day, boolean ...

    Android 中LayoutInflater的使用

    2. **使用方法**:通过`LayoutInflater.from(Context)`获取LayoutInflater实例,然后调用`inflate()`方法加载布局。 3. **inflate()方法**:接受两个参数,第一个是XML布局资源ID,第二个是父视图,用于确定布局的...

    Android LayoutInflater.inflate源码分析

    `LayoutInflater.inflate()` 方法是我们经常使用的一个核心方法,尤其是在创建自定义Adapter或动态加载布局时。接下来我们将深入探讨`LayoutInflater.inflate()` 的源码,以理解其工作原理和不同参数版本之间的差异...

    LayoutInflater inflate例子

    通常,我们会在Activity或Fragment的`onCreate()` 或`onCreateView()` 方法中初始化`LayoutInflater` ,并通过`getLayoutInflater()` 或`LayoutInflater.from(Context)` 获取实例。例如: ```java LayoutInflater ...

    android中LayoutInflater的使用.pdf

    这两种方法在本质上是相同的,因为`LayoutInflater.from(Context context)`实际上就是调用了`getSystemService()`,并传入`Context.LAYOUT_INFLATER_SERVICE`作为参数来获取`LayoutInflater`服务。 `...

    LayoutInflater inflate 示例demo

    首先,`LayoutInflater`通常从资源ID获取,可以使用`getSystemService()`方法和`Context.LAYOUT_INFLATER_SERVICE`常量来获取: ```java LayoutInflater inflater = (LayoutInflater) getSystemService(Context....

    VaryViewHepler:切换不同布局的帮助类

    VaryViewHepler切换不同布局的帮助类初始化helpermVaryViewHelper = new VaryViewHelper.Builder().setDataView(findViewById(R.id.vary_content)).setLoadingView(LayoutInflater.from(this).inflate(R.layout....

    Android LayoutInflater加载布局详解及实例代码

    3.我们定义View的时候,如果需要在布局中使用,则必须实现带AttributeSet参数的构造方法,这又是为什么呢? 既然在这篇文章提出来,那说明这三个问题都是跟LayoutInflater脱不了干系的。在我们的分析过程中,会对...

    layoutinflater中嵌套layoutinflater

    LayoutInflater inflater = LayoutInflater.from(context); View view = inflater.inflate(R.layout.your_layout, parent, false); ``` 这里,`context`是应用程序上下文,`R.layout.your_layout`是你想加载的XML...

    LayoutInflater源码分析 inflate方法的区别

    本篇文章将深入探讨`LayoutInflater`的`inflate`方法之间的区别,帮助开发者更好地理解和利用这个强大的功能。 首先,`LayoutInflater`有两个主要的`inflate`方法: 1. `inflate(@LayoutRes int resource, ...

Global site tag (gtag.js) - Google Analytics