ListView和Adapter数据适配器的简单介绍,实战讲述Flutter跨平台框架应用

  • Listview

  • 显示大量相同格式数据

listSelector //listView每项在选中、按下等不同状态时的Drawable

divider //ListView每项间的间隔Drawable

dividerHeight // ListView每项间间隔的间隔高度

在这里插入图片描述

setAdapter() //设置数据适配器

setOnItemClickListener() // 设置每项点击事件监听

addHeaderView() // 添加头视图

addFooterView() //添加脚视图

setEmptyView() //设置数据项为0时的空数据视图

  • 监听事件:这个监听的例子是设置了一个头视图 项的下标改变 所以用 position-listview.getHeaderViewsCount() 计算项的下标位置 获取正确的对象 在这里插入图片描述

  • Adapter数据适配器 将各种数据以合适的形式绑定到控件上 像listview, gridview, spinner 等等等控件 都会用到Adapter绑定数据,介绍三种Adapter

  1. ArrayAdapter:支持泛型操作,最简单的一个Adapter,只能展现一行文字

  2. SimpleAdapter:同样具有良好扩展性的一个Adapter,可以自定义多种效果

  3. BaseAdapter:抽象类,实际开发中我们会继承这个类并且重写相关方法,用得最多的一个Adapter

先从简单的介绍

  1. ArrayAdapter 在这里插入图片描述

参数1:当前上下文环境

参数2:android.R.layout.simple_list_item_1

是android自带的一个简单布局 里面只包含一个id为text1的TextView也就是参数3,ArrayAdapter只能显示一行数据,显示文本信息 使用这个系统提供的布局就可以,android系统还给我们提供了其他一些好用的模板

simple_list_item_1 : 单独一行的文本框

  • 14
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Adapter的一种写法 package com.xxkjx.jiusanqi; import java.util.List; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; public class NewsListViewAdapter extends BaseAdapter { List<News> list; LayoutInflater inflater; Context context; public NewsListViewAdapter(List<News> list, Context context) { super(); this.list = list; this.context = context; inflater = LayoutInflater.from(context); } @Override public int getCount() { // TODO Auto-generated method stub return list.size(); } @Override public Object getItem(int position) { // TODO Auto-generated method stub return list.get(position); } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub ViewHolder viewHolder = null; if (convertView == null) { convertView = inflater.inflate(R.layout.activity_news_list_item, null); viewHolder = new ViewHolder(); viewHolder.title = (TextView) convertView .findViewById(R.id.tv_news_title); viewHolder.publish = (TextView) convertView .findViewById(R.id.tv_news_publish); viewHolder.brief = (TextView) convertView .findViewById(R.id.tv_news_brief); viewHolder.image = (ImageView) convertView .findViewById(R.id.img_news); convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); } viewHolder.title.setText(list.get(position).getTitle()); viewHolder.publish.setText(list.get(position).getPubblish()); viewHolder.brief.setText(list.get(position).getBrief()); viewHolder.image.setImageResource(list.get(position).getImg()); return convertView; } class ViewHolder { TextView title; TextView publish; TextView brief; ImageView image; } }
在Android Studio中,要使用ListView和SimpleAdapter数据适配器,可以按照以下步骤进行: 1. 在布局文件中添加ListView组件。 2. 创建一个ArrayList对象来保存ListView中的数据。 3. 创建一个SimpleAdapter对象,将ListView中的数据绑定到适配器中。 4. 在Activity或Fragment中设置ListView适配器,以便将数据显示在ListView中。 以下是一个示例代码: ```java // 获取ListView组件 ListView listView = findViewById(R.id.list_view); // 创建一个ArrayList对象来保存数据 ArrayList<HashMap<String, String>> dataList = new ArrayList<>(); // 添加数据 HashMap<String, String> dataItem1 = new HashMap<>(); dataItem1.put("title", "标题1"); dataItem1.put("content", "内容1"); dataList.add(dataItem1); HashMap<String, String> dataItem2 = new HashMap<>(); dataItem2.put("title", "标题2"); dataItem2.put("content", "内容2"); dataList.add(dataItem2); // 创建SimpleAdapter对象 SimpleAdapter adapter = new SimpleAdapter(this, dataList, android.R.layout.simple_list_item_2, new String[]{"title", "content"}, new int[]{android.R.id.text1, android.R.id.text2}); // 设置ListView适配器 listView.setAdapter(adapter); ``` 在这个示例代码中,我们创建了一个包含两个列表项的ArrayList对象,然后使用SimpleAdapter数据绑定到ListView中,其中android.R.layout.simple_list_item_2是一个内置的布局文件,可以用来显示两行文本,适合于显示标题和内容。在SimpleAdapter的构造函数中,我们指定了数据源的键名和布局文件中TextView的ID,这样SimpleAdapter就知道如何将数据绑定到ListView中了。最后,我们将适配器设置到ListView中,这样ListView就可以显示我们的数据了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值