是否有相当于“ListView.addHeaderView”的 XML 标记?

2024-01-01

是否有一个 XML 标签可以在布局文件中使用,它相当于ListView.addHeaderView() http://developer.android.com/reference/android/widget/ListView.html#addHeaderView%28android.view.View%29?


我写了一个简单的ListView喜欢你的要求。

  1. 在中声明自定义属性attrs.xml in value folder:

    <resources>
        <declare-styleable name="HeaderListViewFromXML"> 
            <attr name="headerView" format="reference"/>
        </declare-styleable>
    </resources>
    
  2. Create HeaderListViewFromXML类扩展ListView

    public class HeaderListViewFromXML extends ListView {
        private int headerId;
    
        public HeaderListViewFromXML(Context context) {
            this(context, null);
        }
    
        public HeaderListViewFromXML(Context context, AttributeSet attrs) {
            this(context, attrs, 0);
        }
    
        public HeaderListViewFromXML(Context context, AttributeSet attrs, int defStyle) {
            super(context, attrs, defStyle);
            TypedArray a = context.getTheme().obtainStyledAttributes(attrs, R.styleable.HeaderListViewFromXML, defStyle, defStyle);
    
            try {
                headerId = a.getResourceId(R.styleable.HeaderListViewFromXML_headerView, View.NO_ID);
                if (headerId != View.NO_ID) {
                    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                    View header = inflater.inflate(headerId, null);
                    addHeaderView(header);
                }
            } finally {
                a.recycle();
            }
        }
    }
    
  3. 申报定制HeaderListViewFromXML in layout.xml

    <RelativeLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:app="http://schemas.android.com/apk/res-auto"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
        <com.example.rewidget.HeaderListViewFromXML
                android:id="@+id/listWithHeader"
                android:layout_width="fill_parent"
                android:layout_height="150dp"
                android:layout_marginTop="60dp"
                android:background="#00FF00"
                // custom attribute. Point to layout in header1.xml
                app:headerView="@layout/header1" />
    </RelativeLayout>
    
  4. 在 Activity 中,像平常一样使用ListView

    public class MainActivity extends Activity {
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            ListView list = (ListView) findViewById(R.id.listWithHeader);
    
            String[] values = new String[] { "Android", "iPhone", "WindowsMobile", "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X", "Linux", "OS/2" };
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, values);
    
            list.setAdapter(adapter);
        }
    }
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否有相当于“ListView.addHeaderView”的 XML 标记? 的相关文章

随机推荐

  • Node Webkit 应用程序:隐藏光标

    我正在全屏模式下使用 nodewebkit 开发我的网络应用程序 它必须与触摸屏显示器一起使用 我使用过 CSS 属性 html cursor none In NodeWebKit 的清单 https github com rogerwan
  • web.xml 中针对没有角色成员身份的经过身份验证的用户的安全约束

    我非常绝望 因为我认为一定有一个简单的解决方案来解决我的问题 但我正在寻找 无济于事 我在 Glassfish 3 1 1 中使用自定义领域 此自定义领域 实现 AppservPasswordLoginModuleInterface 从 H
  • 在 Windows 7 上使用 .NET 以编程方式创建/销毁网桥

    我正在尝试以编程方式在 Windows 7 上创建和销毁网桥 从技术上讲 我希望留在 Net 4 领域 PInvokes 很好 ofc 但使用 C 是一种选择 到目前为止我的研究表明 对于配置 netsh 命令是要去的路线 https st
  • Dojo 自定义构建由于缺少资源而出现浏览器错误

    我一直在努力学习基于 AMD 的 Dojo 构建系统 到目前为止 我还无法获得一个在浏览器 FF 中不会出现加载错误的情况下可用的构建 我对如何管理构建有疑问 我的构建配置文件有一个包部分 我在那里指定的内容似乎与写入目标目录的相同包目录直
  • 如何在没有 web.xml 的情况下实现 jaxrs 应用程序 [重复]

    这个问题在这里已经有答案了 我正在尝试部署一个非常简单的 jaxrs 应用程序 但没有 web xml 配置 但无法使其工作 我希望访问的 URL 是 serverandport appname rest welcomes hello 我想
  • 按文件中的列批量排序

    我想知道是否有可能按列对文本文件进行排序 例如 I have aux1 txt像这样的行 Name SecondName Grade 在外壳中我可以做到这一点 sort r k 3 aux1 它按第三列 等级 对文件进行排序 批量中 sor
  • 对列表中相同元素的索引进行分组的有效方法

    假设我有一个如下所示的列表 1 2 2 5 8 3 3 9 0 1 现在我想对相同元素的索引进行分组 因此结果应如下所示 0 9 1 2 3 4 5 6 7 8 我如何以有效的方式做到这一点 我尽量避免使用循环 因此任何使用 numpy p
  • 我想将 Angular 4 的数据发送到 javaservlet (跨域)[重复]

    这个问题在这里已经有答案了 我想将数据从 Angular 4 发送到 java servlet 但无法发送 因为没有通过访问控制 我想用java servlet将数据插入数据库 这是我的代码 前端 data service ts impor
  • 我可以匹配具有相同值形状的所有枚举变体吗?

    我有一个枚举 enum MyEnum A i32 B i32 C D 我可以匹配吗A and B同时与这样的事情 let a MyEnum A 1 match a n gt do something for all variants whi
  • IP地址匹配功能

    我需要找出ip是否属于ip mask 例如 ip 192 168 0 1 掩码 192 168 0 1 24 我找到了将 ip 转换为掩码的函数 inet cidrtoaddr int cidr struct in addr addr in
  • 用 Javascript 求最大质因数

    谢谢阅读 总的来说 对于 Javascript 和编程来说还是很陌生的 我正在寻找一种方法来返回给定数字的最大素因数 我的第一直觉是使用一个 while 循环来计数并找到该数字的质因数 将这些因数存储在数组中并在每次找到一个时重置 这样数组
  • curl: (3) URL 位置 1 中不匹配的大括号:

    我正在从这里运行 Apache Solr 教程 http lucene apache org solr guide 7 6 solr tutorial html http lucene apache org solr guide 7 6 s
  • 如何枚举 Excel 中的重复行?

    我的数据看起来像这样 Monkey Donkey Elephant Panda Donkey Donkey Monkey 我想用数字来区分行 对每个重复项进行计数 Monkey 1 Donkey 1 Elephant 1 Panda 1 D
  • 无法使用数据表和免费编辑器编辑/创建/删除表中的元素

    我正在尝试使用来自 AJAX 调用的 JSON 格式的数据构建一个可编辑表 为此 我将数据表插件与免费数据表编辑器 kingkode com free datatables editor alternative 一起使用 我无法使用数据表编
  • 按下按钮时关闭虚拟键盘

    我有一个Activity与EditText 一个按钮和一个ListView 目的是在搜索屏幕中键入EditText 按下按钮 搜索结果就会填充到此列表中 这一切都工作正常 但虚拟键盘的行为很奇怪 如果我点击EditText 我得到了虚拟键盘
  • 如何读取 WebGL 中的深度缓冲区?

    使用 WebGL API 除了执行我自己的光线投射之外 如何从深度缓冲区获取值 或以任何其他方式从屏幕坐标确定 3D 坐标 即找到单击的位置 几年过去了 这些天WEBGL depth texture扩展广泛可用 除非您需要支持 IE 一般用
  • myspace和linkedin在iphone中的实现

    我想在 iPhone 应用程序中实现 LinkedIn 和 Myspace 我的意思是我想使用我的应用程序更改两者的状态 是否有任何 API 可以同时访问这两者 我尝试了 OAuth API 但它仅适用于 Twitter 谢谢 提前 Lin
  • 了解 TodoMVC 示例

    开始学习node js 和backbone js 并使用TodoMVC 示例作为我的指南 有几个部分我很难理解 见下文 这是app js var express require express http require http mongo
  • 如何使用 python 加载 *.hdr 文件

    我想阅读 hdr 文件格式的环境地图 似乎非常流行的库不支持 hdr 文件读取 例如 OpenCV PIL 等 那么如何将 hdr 文件读取到 numpy 数组中呢 I found ImageIO http imageio github i
  • 是否有相当于“ListView.addHeaderView”的 XML 标记?

    是否有一个 XML 标签可以在布局文件中使用 它相当于ListView addHeaderView http developer android com reference android widget ListView html addH