是否有相当于“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 标记? 的相关文章

  • LocalDate 减去 period 得到错误的结果

    LocalDate减去一个Period 如 28年1个月27天 得到错误的结果 但减去一个Period 只有天单位 如 10282 天 得到正确的结果 有什么需要注意的吗 public static void main String arg
  • Java 中的 ExecuteUpdate sql 语句不起作用

    我正在学习如何将 SQL 与 Java 结合使用 我已成功安装 JDBC 驱动程序 并且能够从数据库读取记录并将其打印在屏幕上 我的问题发生在尝试执行更新或插入语句时 没有任何反应 这是我的代码 问题所在的方法 public static
  • 将现有 eclipse 项目导出到 war 文件时出现“模块名称无效”

    我正在尝试将现有 Eclipse 项目导出到 war 文件 但无论我在 WAR Export 对话框页面中输入什么 系统总是返回 模块名称无效 我不知道如何解决这个问题 谢谢您的帮助 我有同样的问题 我修复了它 请按照以下步骤操作 您可以创
  • 数据未刷新“DynamiteModule:未找到 com.google.firebase.auth 的本地模块描述符类”

    我已经使用 Firebase 很长时间了 到目前为止 除了以下场景之外 一切都很好 有时我注意到我的应用程序不再获取新数据 我正在用一个活跃的监听器监听变化 并且我确实有keepSynced set to true 发生这种情况时 我会在日
  • Android:如果任务管理器终止,则重新调用应用程序

    如果应用程序线程被任务管理器杀死 则应用程序线程将关闭 需要重新调用应用程序 就像它被其他应用程序或任务管理器杀死一样 任何想法 您必须使用 START STICKY 命令运行后台服务 只需扩展 Service 并重写 onCommand
  • 更改 JComboBox 中滚动条的大小

    有谁知道如何手动更改 jComboBox 中的滚动条大小 我已经尝试了一大堆东西 但没有任何效果 好吧 我明白了 您可以实现 PopUpMenuListener 并使用它 public void popupMenuWillBecomeVis
  • 合并两个地图的最佳实践是什么

    如何将新地图添加到现有地图 地图具有相同的类型Map
  • 调整 SwipeRefreshLayout 高度,将 View 置于其底部

    I have SwipeRefreshLayout里面一个RelativeLayout 问题是SwipeRefreshLayout占据了屏幕上的所有位置 我需要放置一个视图after这个观点 看图片 https i stack imgur
  • 改变 Java 中凯撒移位的方向

    用户可以通过选择 1 向左或 2 向右移动字母来选择向左或向右移动 左边工作正常 右边不行 现在它显示了完全相同的循环 但我已经改变了所有 and 以不同的方式进行标记 最终我总是得到奇怪的字符 如何让程序将字符向相反方向移动 如果用户输入
  • 将触摸事件从 NestedScrollView 传递到父视图

    我在 NestedScrollView 下方有一个 ViewPager 宽度一些顶部填充 以及 ClipToPadding false 和透明背景 如图像 我的 ViewPager 无法获取触摸事件并且无法工作 我怎么解决这个问题 我无法更
  • 如何获取小区广播消息?

    我尝试像模拟人生一样获取小区广播消息的文本 但它不起作用 public class SMSReceiver extends BroadcastReceiver Override public void onReceive Context c
  • Java8:流映射同一流中的两个属性

    我有课Model带有以下签名 class Model private String stringA private String stringB public Model String stringA String stringB this
  • 通知操作而不启动新活动?

    我计划提供一个包含两个操作的提醒通知 一个用于批准登录请求 一个用于拒绝登录请求 通过单击这些操作中的任何一个 我希望向我的服务器发出 HTTP 请求 最重要的是 我不想启动新的 Activity 或根本不想将用户重定向到我的应用程序 Co
  • Android项目中使用java获取电脑的IP地址

    我在用ksoap2 android http code google com p ksoap2 android 我需要使用java获取IP地址 这样我就不必每次都手动输入它 我所说的 IP 地址是指 例如 如果我这样做ipconfig使用命
  • Android Jetpack Compose 尺寸随持续时间变化的动画

    如何在 Jetpack Compose 中添加内容大小更改动画的持续时间 尝试使用Modifier animateContentSize 并通过动画规格具有持续时间 但它只是突然进入或退出 没有观察到持续时间 Column Modifier
  • 传递 Android DialogFragment 参数时,onCreateDialog 捆绑参数意外为 null

    我正在尝试使用 DialogFragment 在 Android 中显示一个基本对话框 并使用对话框消息的参数 如中所述StackOverflow线程 https stackoverflow com questions 15459209 p
  • java中的预增量/后增量

    有人可以帮助我理解为什么 int i 1 int j 1 int k 1 int l 1 System out println i i System out println j j System out println k k System
  • Android - 如何简单地拖放按钮?

    我在这里找到了一个适合初学者的教程 http androidrox wordpress com 2011 05 13 android sample app drag and drop image using touch http andro
  • 如何使用注释处理 Hibernate 和 Spring 中的连接查询?

    我正在使用 Spring 和 Hibernate 以及 MySQL 开发应用程序 我是 Hibernate 新手 完成了基本任务 现在我需要在选择查询中应用联接以使用注释从多个表中获取数据 我已经搜索过但仍然没有任何想法 这是我的数据库表和
  • 应用程序关闭时单击 Firebase 通知后打开特定活动/片段

    我知道这个问题似乎重复 但根据我的要求 我在网上搜索了很多帖子 但没有任何对我有用 我的要求 我正在使用 Firebase 来获取推送通知 当应用程序打开时意味着一切正常 但我的问题是 如果有任何推送通知出现 应用程序处于后台 关闭意味着我

随机推荐

  • 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