Android 数据显示控件(ListView实战演练)
源码 [工程文件]: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实战演练)相关推荐
- Android 数据库(SQLite)【简介、创建、使用(增删改查、事务、实战演练)、数据显示控件(ListView、Adapter、实战演练-绿豆通讯录)】
目 录 (壹)SQLite数据库简介 (贰)数据库的创建 (叁)数据库的使用 3.1.SQlite的基本操作 3.1.1.添加数据 3.1.2.修改数据 3.1.3.查询数据 3.1.4.删除数据 ...
- android绿豆通讯录xml,Android 数据库(SQLite)【简介、创建、使用(增删改查、事务、实战演练)、数据显示控件(ListView、Adapter、实战演练)】...
目 录 (壹)SQLite数据库简介 (贰)数据库的创建 (叁)数据库的使用 3.1.SQlite的基本操作 3.1.1.添加数据 3.1.2.修改数据 3.1.3.查询数据 3.1.4.删除数据 ...
- listview控件在php的使用方法,Android_Android编程之控件ListView使用方法,本文实例讲述了Android编程之控 - phpStudy...
Android编程之控件ListView使用方法 本文实例讲述了Android编程之控件ListView使用方法.分享给大家供大家参考.具体分析如下: 控件ListView是一个重要的控件,可以被用作 ...
- android 横向滚轮控件,Android滚轮控件,基于ListView实现,可以自定义样式。
Android滚轮控件,基于ListView实现,可以自定义样式. Features 支持自定义滚轮样式 支持common和holo两种皮肤 支持文本和图文混排两中数据模版 支持循环显示数据 支持选中 ...
- Android图表控件MPAndroidChart——曲线图LineChart的使用(财富收益图)
目录 前言 本文涉及文章 其他相关文章 1.数据准备 1.1 数据来源 2.曲线展示 2.1 MPAndroidChart获取 2.2 数据对象获取 2.3 数据展示 3.曲线完善 3.1 图表背景. ...
- Android常用控件有哪些?如何使用?
Android常用控件介绍及使用 控件 TextView 显示文字,相当于Panel ImageView 显示图片 EditText 输入框,可编辑,可设置软键盘方式 Button 按钮,可附带图片 ...
- Android 画廊控件Gallary
Android 画廊控件Gallary.将图片显示成连续的带状. package com.gallerydemo;import java.lang.reflect.Field; import java ...
- Android神奇“控件”-----RemoteViews
本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 转载请注明 http://blog.csdn.net/wrg_20100512/article/details/53940485 好 ...
- Android开源控件收集整理
一 .基本控件 TextView HTextView 一款支持TextView文字动画效果的Android组件库.GitHub - hanks-zyh/HTextView: Animation eff ...
最新文章
- 两个函数式解决大数相加的方法
- mxnet基础到提高(51)-Activation激活函数
- typescript的命名空间
- codeforces 1060b Maximum Sum of Digits(思维题)
- 论文阅读课11-TEMPROB:Improving Temporal Relation Extraction with a Globally Acquired Statistical Resource
- 蓝桥杯第七届国赛JAVA真题----七星填数
- linux 主机名修改日志,Linux:修改主机名【Centos7】
- bzoj 3375: [Usaco2004 Mar]Paranoid Cows 发疯的奶牛(二分)
- 01 Nginx的高并发处理
- 微信扫码免密登陆第三方应用平台
- 【大厂面试必备系列】滑动窗口协议
- 计算机视觉领域的一些牛人博客,超有实力的研究机构web主页(转)
- 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java软件学院门户网站u09k9
- 更新linux yum源,CentOS 更新yum源
- 创业公司股权分配较好方案推荐
- 计算机内部的物理运行机制,许多人具有应用物理、计算机、经济、心理学以及运筹学的背景,因...
- xp下载的java8_windows xp下安装java8(jdk8) 看完就明白
- DateTime日期差
- 世界史上最成功的12大王朝 中国占两个。
- hive学习-问题解答一
热门文章
- html语言的前景,html5就业前景
- python输出不重复的单词_python-如何在文本文件中创建所有单词的列表,但字母重复的单词除外...
- python续行_python基础(变量,续行符,is,round,if,字符串,日期,数学,参数)...
- 所有的工程师都鄙视 php 工程师.,程序员的鄙视链(所有工程师都鄙视php工程师23333)...
- 十三、欧拉离散化计算期权定价期权定价
- python 学习 我推荐这本书,适合特别没有程序基础或者编程思维较差的人,
- 可逆神经网络(Invertible Neural Networks)详细解析:让神经网络更加轻量化
- 首次开源!一行代码轻松搞定中英文语音识别、合成、翻译核心功能!
- 深度学习开发者的AI Party来了!WAVE SUMMIT+2021与你相约双十二
- IET Cyber-Systems Robotics线上研讨会:聚焦人工智能与机器人前沿