热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Listview和Adapter

Java代码的实现 变量定义 封装,给各个属性设置getter/setter方法 public class ListInfo {private String titl


<LinearLayout xmlns:android&#61;"http://schemas.android.com/apk/res/android" xmlns:app&#61;"http://schemas.android.com/apk/res-auto" xmlns:tools&#61;"http://schemas.android.com/tools" android:orientation&#61;"vertical" android:layout_width&#61;"match_parent" android:layout_height&#61;"match_parent" tools:context&#61;"com.example.mpyypm.listviewzuoye.MainActivity"> <ListView android:id&#61;"&#64;&#43;id/list" android:scrollbars&#61;"vertical" android:layout_width&#61;"match_parent" android:layout_height&#61;"match_parent"/> <LinearLayout android:layout_width&#61;"match_parent" android:layout_height&#61;"wrap_content" android:orientation&#61;"vertical"> <TextView android:id&#61;"&#64;&#43;id/title1" android:text&#61;"&#64;string/name" android:layout_width&#61;"wrap_content" android:layout_height&#61;"wrap_content"/> <TextView android:id&#61;"&#64;&#43;id/title2" android:text&#61;"&#64;string/age" android:layout_width&#61;"wrap_content" android:layout_height&#61;"wrap_content"/> <TextView android:id&#61;"&#64;&#43;id/title3" android:text&#61;"&#64;string/mail" android:layout_width&#61;"wrap_content" android:layout_height&#61;"wrap_content"/> <TextView android:id&#61;"&#64;&#43;id/title4" android:text&#61;"&#64;string/address" android:layout_width&#61;"wrap_content" android:layout_height&#61;"wrap_content"/> LinearLayout> LinearLayout>

Java代码的实现

变量定义

封装&#xff0c;给各个属性设置getter/setter方法

public class ListInfo {
private String title1;
private String title2;
private String title3;
private String title4;

public ListInfo(String title1, String title2, String title3,String title4) {
this.title1&#61;title1;
this.title2&#61;title2;
this.title3&#61;title3;
this.title4&#61;title4;
}
创建Adapter&#xff0c;将数据加载到listview

adapter &#61; new SimpleAdapter(getActivity(),getData(),R.layout.activity_main,new String[]{"title1", "title2", "title3", "title4"}, new int[]{R.id.title1, R.id.title2, R.id.title3, R.id.title4}); ListView listView &#61; (ListView)view.findViewById(R.id.list); listView.setAdapter(adapter);

添加listview的每个item的单击的监听事件

&#64;Override
public void onItemClick(AdapterView adapterView, View view, int position, long id) {
String data &#61; (String) adapterView.getItemAtPosition(position);
通过Map接口增加数据

private List

// 给list增加数据
HashMap<String, Object> data &#61; new HashMap<>();
// Map映射添加数据 data.put("title1", "蔡志坤"); data.put("title2", "25"); data.put("title3", "ffczk86&#64;gmail.com"); data.put("title4", "厦门市"); // 将map放到list中 datas.add(data); data &#61; new HashMap<>(); data.put("title1", "李杰华"); data.put("title2", "25"); data.put("title3", "aa&#64;bb.com"); data.put("title4", "漳州市"); datas.add(data); data &#61; new HashMap<>(); data.put("title1", "张亮"); data.put("title2", "25"); data.put("title3", "cc&#64;gmail.com"); data.put("title4", "厦门市"); datas.add(data); data &#61; new HashMap<>(); data.put("title1", "刘玄德"); data.put("title2", "25"); data.put("title3", "ffczk86&#64;gmail.com"); data.put("title4", "福州市"); datas.add(data); return datas;

}
}
customerAdapter

public class CustomAdapter extends BaseAdapter {
private List dates;
private Context context;

//通过构造方法获取所需对象&#xff1a;上下文和数据
public CustomAdapter(Context context, List dates) {
this.dates &#61; dates;
this.context &#61; context;
}

&#64;Override
public int getCount() {
return dates.size();
}

&#64;Override
public Object getItem(int i) {
return dates.get(i);
}

&#64;Override
public long getItemId(int i) {
return i;
}

//自定义adapter重写getView&#xff08;&#xff09;方法
&#64;Override
public View getView(int i, View view, ViewGroup parent) {
//1.获取view
if (view &#61;&#61; null) {
view &#61; LayoutInflater.from(context).inflate(R.layout.activity_main, null);
}//2.获取控件对象
TextView title1 &#61; (TextView) view.findViewById(R.id.title1);
TextView title2 &#61; (TextView) view.findViewById(R.id.title2);
TextView title3 &#61; (TextView) view.findViewById(R.id.title3);
TextView title4 &#61; (TextView) view.findViewById(R.id.title4);

//给每个控件赋值
Classinfo classInfo &#61; datas.get(i);
title1.setText(classinfo.gettitle1());
title2.setText(classinfo.getTitle2());
title3.setText(classinfo.gettitle3());
title4.setText(classinfo.gettitle4());
return null;

}

转:https://www.cnblogs.com/cxl1611/p/6798245.html



推荐阅读
  • 在一对一直播源码使用过程中,有时会出现软键盘切换闪屏问题,就是当切换表情的时候屏幕会跳动,因此要对一对一直播源码表情面板无缝切换进行优化。 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • 2021年最详细的Android屏幕适配方案汇总
    1Android屏幕适配的度量单位和相关概念建议在阅读本文章之前,可以先阅读快乐李同学写的文章《Android屏幕适配的度量单位和相关概念》,这篇文章 ... [详细]
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
  • 带添加按钮的GridView,item的删除事件
    先上图片效果;gridView无数据时显示添加按钮,有数据时,第一格显示添加按钮,后面显示数据:布局文件:addr_manage.xml<?xmlve ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • SmartRefreshLayout自定义头部刷新和底部加载
    1.添加依赖implementation‘com.scwang.smartrefresh:SmartRefreshLayout:1.0.3’implementation‘com.s ... [详细]
  • 开发笔记:(002)spring容器中bean初始化销毁时执行的方法及其3种实现方式
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了(002)spring容器中bean初始化销毁时执行的方法及其3种实现方式相关的知识,希望对你有一定的参考价值。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Android系统移植与调试之如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏
    本文介绍了如何修改Android设备状态条上音量加减键在横竖屏切换时的显示与隐藏。通过修改系统文件system_bar.xml实现了该功能,并分享了解决思路和经验。 ... [详细]
  • 本文介绍了一款名为TimeSelector的Android日期时间选择器,采用了Material Design风格,可以在Android Studio中通过gradle添加依赖来使用,也可以在Eclipse中下载源码使用。文章详细介绍了TimeSelector的构造方法和参数说明,以及如何使用回调函数来处理选取时间后的操作。同时还提供了示例代码和可选的起始时间和结束时间设置。 ... [详细]
  • 本文介绍了一个Magento模块,其主要功能是实现前台用户利用表单给管理员发送邮件。通过阅读该模块的代码,可以了解到一些有关Magento的细节,例如如何获取系统标签id、如何使用Magento默认的提示信息以及如何使用smtp服务等。文章还提到了安装SMTP Pro插件的方法,并给出了前台页面的代码示例。 ... [详细]
  • 今天就跟大家聊聊有关怎么在Android应用中实现一个换肤功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根 ... [详细]
  • 03Spring使用注解方式注入
    基于注解的DI注入1.导包环境搭建:导入aop包(spring-aop-4.1.6.RELEASE.jar)2.创建类3.创建spring.xml配置文件(必须在src目录下)该配 ... [详细]
  • Problemexplanation: ... [详细]
author-avatar
措小爱2TU1984
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有