源码 [工程文件]:https://gitee.com/lwx001/ListView


推荐博客:(这个更详细。)
https://blog.csdn.net/weixin_44949135/article/details/105955663

ListView 基本使用:


activity_main.xml :

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><ListViewandroid:id="@+id/lv"android:layout_width="match_parent"android:layout_height="match_parent"></ListView></RelativeLayout>

ListView 实战演练:


market.xml :

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><ListViewandroid:id="@+id/lv"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_margin="5dp"android:divider="#EE82EE"android:dividerHeight="3dp"></ListView></RelativeLayout>

list_item.xml :

<?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:gravity="center_vertical"><ImageViewandroid:id="@+id/item_image"android:layout_width="48dp"android:layout_height="48dp"android:layout_margin="8dp"android:background="@drawable/wx" /><TextViewandroid:id="@+id/item_tv"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="我是ListView的Item布局"android:textSize="18sp" />
</LinearLayout>

MainActivity.java :

package cn.lwx.listview;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;public class MainActivity extends AppCompatActivity {private ListView mListView;//定义需要适配的数据private String[] names = {"京东商城", "QQ", "QQ斗地主", "新浪微博", "天猫", "UC浏览器", "微信"};//定义图片集合private int[] icons = {R.drawable.jd, R.drawable.qq, R.drawable.dz,R.drawable.xl, R.drawable.tm, R.drawable.uc, R.drawable.wx};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.market);//初始化ListView控件mListView = (ListView) findViewById(R.id.lv);//ListView展示数据需要适配器 创建一个Adapter的实例MyBaseAdapter mAdapter = new MyBaseAdapter();//设置AdaptermListView.setAdapter(mAdapter);}class MyBaseAdapter extends BaseAdapter {//BaseAdapter需要实现4个方法//返回item总数@Overridepublic int getCount() {//返回ListView Item条目的总数return names.length;}//得到Item代表的对象@Overridepublic Object getItem(int position) {//返回ListView Item条目代表的对象return names[position];}//得到Item的id@Overridepublic long getItemId(int position) {//返回ListView Item的idreturn position;}// ListView优化 得到Item的View视图@Override // convertView  历史缓存对象public View getView(int position, View convertView, ViewGroup parent) {//将list_item布局转换成一个View对象 打气筒 View.inflate();ViewHolder holder;if (convertView == null) {convertView = LayoutInflater.from(getApplicationContext()).inflate(R.layout.list_item, parent, false);holder = new ViewHolder();holder.mTextView = (TextView) convertView.findViewById(R.id.item_tv);holder.imageView = (ImageView) convertView.findViewById(R.id.item_image);convertView.setTag(holder);} else {holder = (ViewHolder) convertView.getTag();}holder.mTextView.setText(names[position]);holder.imageView.setBackgroundResource(icons[position]);return convertView;}class ViewHolder {TextView mTextView;ImageView imageView;}//        //得到Item的View视图
//        @Override
//        public View getView(int position, View convertView, ViewGroup parent) {//            //将list_item布局转换成一个View对象 打气筒 View.inflate();
//            View view = View.inflate(MainActivity.this, R.layout.list_item, null);
//            //找到条目中的控件
//            ImageView imageView = (ImageView) view.findViewById(R.id.item_image);
//            TextView mTextView = (TextView) view.findViewById(R.id.item_tv);
//            mTextView.setText(names[position]);
//            imageView.setBackgroundResource(icons[position]);
//            return view;
//        }}}

运行截图 :

Android 数据显示控件(ListView实战演练)相关推荐

  1. Android 数据库(SQLite)【简介、创建、使用(增删改查、事务、实战演练)、数据显示控件(ListView、Adapter、实战演练-绿豆通讯录)】

    目   录 (壹)SQLite数据库简介 (贰)数据库的创建 (叁)数据库的使用 3.1.SQlite的基本操作 3.1.1.添加数据 3.1.2.修改数据 3.1.3.查询数据 3.1.4.删除数据 ...

  2. android绿豆通讯录xml,Android 数据库(SQLite)【简介、创建、使用(增删改查、事务、实战演练)、数据显示控件(ListView、Adapter、实战演练)】...

    目   录 (壹)SQLite数据库简介 (贰)数据库的创建 (叁)数据库的使用 3.1.SQlite的基本操作 3.1.1.添加数据 3.1.2.修改数据 3.1.3.查询数据 3.1.4.删除数据 ...

  3. listview控件在php的使用方法,Android_Android编程之控件ListView使用方法,本文实例讲述了Android编程之控 - phpStudy...

    Android编程之控件ListView使用方法 本文实例讲述了Android编程之控件ListView使用方法.分享给大家供大家参考.具体分析如下: 控件ListView是一个重要的控件,可以被用作 ...

  4. android 横向滚轮控件,Android滚轮控件,基于ListView实现,可以自定义样式。

    Android滚轮控件,基于ListView实现,可以自定义样式. Features 支持自定义滚轮样式 支持common和holo两种皮肤 支持文本和图文混排两中数据模版 支持循环显示数据 支持选中 ...

  5. Android图表控件MPAndroidChart——曲线图LineChart的使用(财富收益图)

    目录 前言 本文涉及文章 其他相关文章 1.数据准备 1.1 数据来源 2.曲线展示 2.1 MPAndroidChart获取 2.2 数据对象获取 2.3 数据展示 3.曲线完善 3.1 图表背景. ...

  6. Android常用控件有哪些?如何使用?

    Android常用控件介绍及使用 控件 TextView 显示文字,相当于Panel ImageView 显示图片 EditText 输入框,可编辑,可设置软键盘方式 Button 按钮,可附带图片 ...

  7. Android 画廊控件Gallary

    Android 画廊控件Gallary.将图片显示成连续的带状. package com.gallerydemo;import java.lang.reflect.Field; import java ...

  8. Android神奇“控件”-----RemoteViews

    本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 转载请注明 http://blog.csdn.net/wrg_20100512/article/details/53940485 好 ...

  9. Android开源控件收集整理

    一 .基本控件 TextView HTextView 一款支持TextView文字动画效果的Android组件库.GitHub - hanks-zyh/HTextView: Animation eff ...

最新文章

  1. 两个函数式解决大数相加的方法
  2. mxnet基础到提高(51)-Activation激活函数
  3. typescript的命名空间
  4. codeforces 1060b Maximum Sum of Digits(思维题)
  5. 论文阅读课11-TEMPROB:Improving Temporal Relation Extraction with a Globally Acquired Statistical Resource
  6. 蓝桥杯第七届国赛JAVA真题----七星填数
  7. linux 主机名修改日志,Linux:修改主机名【Centos7】
  8. bzoj 3375: [Usaco2004 Mar]Paranoid Cows 发疯的奶牛(二分)
  9. 01 Nginx的高并发处理
  10. 微信扫码免密登陆第三方应用平台
  11. 【大厂面试必备系列】滑动窗口协议
  12. 计算机视觉领域的一些牛人博客,超有实力的研究机构web主页(转)
  13. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java软件学院门户网站u09k9
  14. 更新linux yum源,CentOS 更新yum源
  15. 创业公司股权分配较好方案推荐
  16. 计算机内部的物理运行机制,许多人具有应用物理、计算机、经济、心理学以及运筹学的背景,因...
  17. xp下载的java8_windows xp下安装java8(jdk8) 看完就明白
  18. DateTime日期差
  19. 世界史上最成功的12大王朝 中国占两个。
  20. hive学习-问题解答一

热门文章

  1. html语言的前景,html5就业前景
  2. python输出不重复的单词_python-如何在文本文件中创建所有单词的列表,但字母重复的单词除外...
  3. python续行_python基础(变量,续行符,is,round,if,字符串,日期,数学,参数)...
  4. 所有的工程师都鄙视 php 工程师.,程序员的鄙视链(所有工程师都鄙视php工程师23333)...
  5. 十三、欧拉离散化计算期权定价期权定价
  6. python 学习 我推荐这本书,适合特别没有程序基础或者编程思维较差的人,
  7. 可逆神经网络(Invertible Neural Networks)详细解析:让神经网络更加轻量化
  8. 首次开源!一行代码轻松搞定中英文语音识别、合成、翻译核心功能!
  9. 深度学习开发者的AI Party来了!WAVE SUMMIT+2021与你相约双十二
  10. IET Cyber-Systems Robotics线上研讨会:聚焦人工智能与机器人前沿