Android实现列表ListView

news/2025/1/20 16:31:18/文章来源:https://www.cnblogs.com/syhxx/p/18238896

首先是创建一个基础的item组件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:id="@+id/item_container"android:orientation="horizontal"><TextViewandroid:id="@+id/id"android:layout_weight="1"android:layout_width="wrap_content"android:layout_height="wrap_content" /><TextViewandroid:id="@+id/leix"android:layout_weight="2"android:layout_width="wrap_content"android:layout_height="wrap_content" /><TextViewandroid:id="@+id/amo"android:layout_weight="2"android:layout_width="wrap_content"android:layout_height="wrap_content" />
</LinearLayout>

在需要插入的页面写入ListView:

    <TextViewandroid:id="@+id/amount"android:layout_width="150dp"android:layout_height="50dp"android:layout_toLeftOf="@id/main_btn_edit"android:layout_alignBottom="@id/main_btn_edit"android:layout_marginRight="60dp"/>

之后是实现代码的My Adapter:实现item传值

package com.syh.jizhangben;import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;import com.syh.jizhangben.pojo.JZB;
import com.syh.jizhangben.util.DBHelper;import java.util.ArrayList;public class MyAdapter extends BaseAdapter {private DBHelper dbHelper; // 确保DBHelper有适当的构造函数和删除方法private Context context;private ArrayList<JZB> dataList;public MyAdapter(Context context, ArrayList<JZB> dataList) {this.context = context;this.dataList = dataList;this.dbHelper = new DBHelper(context); // 初始化dbHelper
    }@Overridepublic int getCount() {return dataList.size();}@Overridepublic Object getItem(int position) {return dataList.get(position);}@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {ViewHolder viewHolder;if(convertView == null) {// inflate the layoutLayoutInflater inflater = LayoutInflater.from(context);convertView = inflater.inflate(R.layout.find, parent, false);viewHolder = new ViewHolder();// viewHolder.itemView = convertView.findViewById(R.id.item_container);viewHolder.textViewId = convertView.findViewById(R.id.id);viewHolder.textViewType = convertView.findViewById(R.id.leix);viewHolder.textViewAmount = convertView.findViewById(R.id.amo);convertView.setTag(viewHolder);} else {viewHolder = (ViewHolder) convertView.getTag();}// set the data to textviewsJZB currentItem = dataList.get(position);viewHolder.textViewId.setText(String.valueOf(currentItem.getId()));viewHolder.textViewType.setText(currentItem.getInorout());viewHolder.textViewAmount.setText(String.valueOf(currentItem.getAmount()));return convertView;}static class ViewHolder {public View itemView;TextView textViewId;TextView textViewType;TextView textViewAmount;}
}

在需要展示item列表的地方书写以下代码:

          ArrayList<JZB> filteredData;
filteredData = dbHelper.getAllDATA();
          MyAdapter adapter = new MyAdapter(getApplicationContext(), filteredData);ListView listView = findViewById(R.id.list_view_data);listView.setAdapter(adapter);

实现数据的填入创建。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/721936.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kettle从入门到精通 第六十六课 ETL之kettle kettle阻塞教程,轻松获取最后一行数据,so easy

场景:ETL沟通交流群内有小伙伴反馈,如何在同步一批数据完成之后记录下同步结果呢?或者是调用后续步骤、存储过程、三方接口等。 解决:使用步骤Blocking step进行阻塞处理即可。 1、下面的demo演示从表t1同步数据至表t2(t1表中有三条数据,t2为空表,两个表表结构相同),然…

第二轮PTA作业

前言:在这学期的Java学习了一段时间,相比于之前,在语法和面向对象的思想上比之前了解更多,在能力培养上也是更上一层楼,做了很多的复杂的题,虽然结果不尽人意,但是进行了不断思考和试错的过程,使我在设计层面上受益匪浅。 PTA第四次作业的最后一题 7-1 答题判题程序-4 …

设备树下的 LED 驱动实验

设备树下的 LED 驱动实验 本章实验重点内容如下: ①、在 imx6ull-alientek-emmc.dts 文件中创建相应的设备节点。 ②、编写驱动程序(在第四十二章实验基础上完成),获取设备树中的相关属性值。 ③、使用获取到的有关属性值来初始化 LED 所使用的 GPIO。 设备树文件添加设备节点…

偶函数在零点的泰勒展开式相关知识点

步骤1: 理解偶函数的定义偶函数是指满足 f(x)=f(−x)f(x) = f(-x)f(x)=f(−x) 的函数。这意味着偶函数关于 yyy 轴对称。步骤2: 理解泰勒展开泰勒展开是一种将函数表示为无穷级数的方法,它在函数在某一点的所有导数都存在的情况下非常有效。对于函数 f(x)f(x)f(x) 在零点的泰勒…

三探堆栈欺骗之Custom Call Stacks

本文首发阿里云先知社区:https://xz.aliyun.com/t/14592 背景知识 在之前的文章中,我们介绍了静态欺骗和动态欺骗堆栈,今天我们来一起学习一下另一种技术,它被它的作者称为Custom Call Stacks,即自定义堆栈调用。 关于堆栈欺骗的背景我们就不再说了,这里我们补充一下回调函…

esphome esp8266刷写遇到的问题

问题描述: 在尝试打开串口时出现以下错误信息: Failed to execute open on SerialPort: Failed to open serial port.起因: 莫名其妙地安装了一个乐鑫的新版 CH340 驱动。解决方案:找到正确的驱动程序,如下图所示:卸载安装的新驱动,并等待系统自动安装正确的驱动。

数字滤波器和模拟滤波器(一)

下面介绍模拟滤波器和数字滤波器的频率响应的异同,以及如何使用python地`scipy.signal`来绘制其频谱响应和冲激阶跃响应。在第二期将谈到如何设计模拟滤波器和数字滤波器。模拟滤波器和数字滤波器(一) 下面介绍模拟滤波器和数字滤波器的频率响应的异同,以及如何使用python地…

茗鹤 | 模具如何在APS高级计划排程系统中,配置共模、互换镶件等有限约束条件?

在高度依赖模具的生产环境中,模具管理与APS生产排程的有效整合是提升效率、确保订单交期的关键。以下是针对模具管理的几个核心策略,通过APS高级计划排程系统的辅助,实现产能优化与生产调度的智能化升级在高度依赖模具的生产环境中,模具管理与APS生产排程的有效整合是提升效…

靶机练习:Gitroot

信息收集 扫描全端口以发现服务访问80端口,有hint尝试绑定域名到/etc/vuln,同时提示中存在用户名jen,可以尝试爆破ssh 绑定后能访问站点了用wpscan能扫出wordpress的用户名接下来没爆破出密码 尝试使用wfuzz扫描子域名 wfuzz -c -u http://gitroot.vuln -H "HOST:FUZZ.…

Redis-10-分布式锁.md

参考: 分布式锁介绍 1.概念 额,为什么的话,建议先了解下我这篇文章。 Java-并发-并发的基本概念 我们在并发场景下,区分一个场景是否有并发问题,个人理解,锁的场景需要考虑:共享:是否共享某个资源 竞态:如何构建竞态关系首先,我们得拎清楚它到底会不会共享,不是说多…

一文了解 - - SpringMVC

一、SpringMVC概述Spring MVC 是由Spring官方提供的基于MVC设计理念的web框架。 SpringMVC是基于Servlet封装的用于实现MVC控制的框架,实现前端和服务端的交互。1.1 SpringMVC优势严格遵守了MVC分层思想采用了松耦合、插件式结构;相比较于我们封装的BaseServlet以及其他的一些…