ListView的实现步骤

1.单独一行的布局可以如下

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="horizontal"android:layout_width="match_parent"android:layout_height="match_parent"><ImageViewandroid:id="@+id/icon_image_view"android:layout_width="60dp"android:layout_height="60dp"android:src="@mipmap/ic_launcher_round"/><TextViewandroid:id="@+id/app_name_text_view"android:layout_width="match_parent"android:layout_height="60dp"android:textSize="20sp"android:padding="6dp"android:gravity="center_vertical"android:text="@string/app_name"/></LinearLayout>

2.adapter数据绑定

package com.sina.mythree;import android.annotation.SuppressLint;
import android.content.Context;
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;import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatDelegate;import java.util.ArrayList;
import java.util.List;public class AppListActivity extends AppCompatActivity {@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_app_list);ListView applistview = (ListView)findViewById(R.id.app_list_view);List<String> appNames = new ArrayList<>();appNames.add("QQ");appNames.add("weixin");appNames.add("Sina");applistview.setAdapter(new AppListAdapter(appNames));}//AppListAdapter 设置如下,并需要自己的布局public class AppListAdapter extends BaseAdapter{List<String> mAppNames;public AppListAdapter(List<String> appNames){mAppNames = appNames;}@Overridepublic int getCount() {//有多少条数据return mAppNames.size();}@Overridepublic Object getItem(int position) {//返回获取当前数据位置return mAppNames.get(position);}@Overridepublic long getItemId(int position) {//返回获取当前数据的IDreturn position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {//处理VIEW和DATA的适配填充过程//把XML载入JAVALayoutInflater layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);//把layout转换成VIEWconvertView = layoutInflater.inflate(R.layout.item_app_list_view,null);ImageView appIconImageView = (ImageView) convertView.findViewById(R.id.icon_image_view);TextView  appNameTextView = (TextView) convertView.findViewById(R.id.app_name_text_view);appNameTextView.setText(mAppNames.get(position));return convertView;}}}

优化方向,在n个数据时候防止滑动卡顿,进行缓存。

【安卓开发 】Android初级开发(四)ListView相关推荐

  1. Android初级开发笔记-- activity启动模式的学习(1)

    第一次学习Android中一个很重要的概念,启动模式.文章记录的也只是一些入门知识,随着学习的深入还会有activity启动模式的学习(2)和(3). 下面分三个小点说一下对启动模式的理解区别以及如何 ...

  2. 安卓(Android)开发百度语音唤醒(识别)

    安卓(Android)开发百度语音唤醒(识别) 目录 安卓(Android)开发百度语音唤醒(识别) 一:准备 1:获取自定义唤醒词 2:SDK下载 3:将bdasr_V3_xxx_xxx.jar引入 ...

  3. 安卓(android)开发应该怎么学?需要哪些基础知识?

    随着智能手机的流行,现在很多大大小小的开发商都需要在手机上具备客户端,这里是一片强大的吸金磁场,那么很多想学习android的朋友,都会有个疑问,那就是:安卓(android)应该怎么学,需要哪些基础 ...

  4. 移动端app开发-03-IOS 初级开发入门教程

    移动端app开发-03-IOS 初级开发入门教程 什么是iOS   iOS是苹果公司为它的移动设备(iPhone.iPad.iWatch等)开发的移动操作系统. iOS发展史 2007年苹果发布iPh ...

  5. 用java开发一个简单的安卓程序,Android NDK开发简单程序分享(Hello Word!)

    在之前的博客中已经为大家介绍了,如何在win环境下配置DNK程序,本篇我将带大家实现一个简单的Hello jni程序,让大家真正感受一下NDK开发的魅力.这里我们选择使用C+JAVA开发Android ...

  6. Android游戏开发Android软件开发【教程三十篇】

    Android软件开发之发送短信与系统短信库解析(三十)  New Android软件开发之获取通讯录联系人信息(二十九)  New Android软件开发之PreferenceActivity中的组 ...

  7. VS2019 C++的跨平台开发——Android .so开发

    这篇介绍下怎么用VS开发Android使用的.so动态链接库文件. Android环境配置 1.先打开VS installer ​ 2.选中C++移动开发​ 3.如果VS没有下载NDK和SDK的,需要 ...

  8. 音乐应用开发Android应用开发--MP3音乐播放器界面设计(2)

    在写这篇文章之前,xxx已写过了几篇关于改音乐应用开发主题的文章,想要了解的朋友可以去翻一下之前的文章 Android应用开发--MP3音乐播放器界面计划(2) 2013年5月25日 简.美音乐播放器 ...

  9. android 计步器 开发,Android计步器开发

    本文只赘述Android计步器开发里计步的原理. 在Android4.4版本之后,新增了STEP_COUNTER和STEP_DECTECTOR STEP_COUNTER表示自从开机以来,你走的步数累计 ...

  10. android开发高级开发,Android多媒体开发高级编程 (Shawn Van Every) pdf扫描版

    <android多媒体开发高级编程--为智能手机和平板电脑开发图形.音乐.视频和富媒体应用>使用清晰.直观的示例介绍了android sdk中丰富的多媒体功能,有助于您开发能够创建.播放和 ...

最新文章

  1. 技术图文:进一步完善自动化交易系统 - 03
  2. 解决若要安装 Microsoft Office 2010,需要MSXML 版本 6.10.1129的问题
  3. 思路+源码,利用Python破解WIFI密码详解,100M的字典已备好
  4. linux水滴怎么抓包,tcpdump 抓包
  5. 优秀常用网站汇总.txt
  6. jsoup解析器快速入门
  7. android select下拉列表_Python+selenium自动化之下拉列表操作(一)
  8. 招C++高手及强力美工
  9. activity+window+view简单说明
  10. python图像边缘检测_python 简单图像处理(11) 空间域图像锐化(边缘检测)
  11. 我的csdn账号开通啦~
  12. android 字符串大小写转换
  13. 一文掌握项目经理和PMO线上会议汇报流程规范和注意事项
  14. CAD修复块中心点(网页版)
  15. 6-1 计算捐款总量 (10分)
  16. 每日刷题记录 (一)
  17. c语言中,关于延迟函数的理解
  18. elevation_mapping使用笔记
  19. MySQL安装及MySQL8.0新密码认证方式
  20. VirtualBox 开源桌面虚拟化软件

热门文章

  1. 为什么在生产中进行硒自动化测试对于您的下一个版本至关重要?
  2. cp ft wat_Java数组,Wat!
  3. neo4j数据浏览器_Neo4j:在Neo4j浏览器的帮助下探索新数据集
  4. 自定义MongoDB的Spring Social Connect框架
  5. eclipse发布rest_在Eclipse中高效运行HTTP / REST集成测试
  6. spring防止爬虫_Spring安全:防止暴力攻击
  7. maven使用junit3_JUnit,Logback,带有Maven 3的Maven
  8. java 并发 同步信号_Java并发教程–信号量
  9. OpenShift DIY:使用Gradle构建Spring Boot / Undertow应用程序
  10. 如何使用Hibernate批处理DELETE语句