zoukankan      html  css  js  c++  java
  • 关于在findViewById()方法时遇到的一些问题

    最近需要做一个关于色卡的App,需要用到LayoutInflater来实现标签动态切换View界面,但是发现在使用过程中App突然会闪退,
    闪退目前已解决。

    1. 先看下关于findViewById()的详细介绍:findViewById()是找具体某一个xml下具体 widget控件(如:Button,TextView等)
    2. 我的闪退原因:我将findViewById()用在了还没有动态加载我要查找组件的xml,导致闪退
    3. 解决方法:用在之后。。。

    搜集了一些大佬的代码注释等,比我说的更加清楚。

    大佬的代码原地址:https://www.cnblogs.com/niray/p/3815059.html

    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);
    
    /**
                 * 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);
    
  • 相关阅读:
    Spring 未初始化声明bean就ref,造成的异常
    数据库优化
    数据库删除操作尽量不要做物理删除,用状态字段来表示
    lua脚本语言
    上半年阅读书籍清单
    (转)从零实现3D图像引擎:(4)三角函数库
    (转)从零实现3D图像引擎:(1)环境配置与项目框架
    通信协议的正确处理方法
    (转)从零实现3D图像引擎:(6)向量函数库
    (转)从零实现3D图像引擎:(5)3D坐标系函数库
  • 原文地址:https://www.cnblogs.com/tfxz/p/12621710.html
Copyright © 2011-2022 走看看