ListView列表的简单案例
在android开发中ListView它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。抽空把对ListView的使用做了整理,并写了个小例子
列表示例图:

BaseActivity
package com.shaoxin.mylistactivity; import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity; /**
* Created by shaoxin on 2016/11/21.
*/ public abstract class BaseActivity extends AppCompatActivity {
public abstract void init(); public abstract void setListener(); @Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
init();
setListener();
}
}
MainActivity
package com.shaoxin.mylistactivity; import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; public class MainActivity extends BaseActivity {
private ListView list1;
private ArrayAdapter arrayAdapter;
private String[] strName = {"南昌", "上海", "北京"};
private ListView list2;
private SimpleAdapter simpleAdapter;
private String[] strWeither = {"晴天", "下雨", "刮风"};
private List<Map<String, String>> list;
private MyAdapter myAdapter;
private ListView list3; @Override
public void init() {
setContentView(R.layout.activity_main);
list1 = (ListView) findViewById(R.id.list_1);
list2 = (ListView) findViewById(R.id.list_2);
list3 = (ListView) findViewById(R.id.list_3);
} @Override
public void setListener() {
arrayAdapter = new ArrayAdapter(MainActivity.this, android.R.layout.simple_list_item_1, strName);
list1.setAdapter(arrayAdapter); list = new ArrayList<>();
for (int i = 0; i < strName.length; i++) {
Map map = new HashMap();
map.put("txt1", strName[i]);
map.put("txt2", strWeither[i]);
list.add(map);
}
simpleAdapter = new SimpleAdapter(MainActivity.this, list, android.R.layout.simple_list_item_2, new String[]{"txt1", "txt2"}, new int[]{android.R.id.text1, android.R.id.text2});
list2.setAdapter(simpleAdapter); myAdapter = new MyAdapter();
list3.setAdapter(myAdapter); } @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); } public class MyAdapter extends BaseAdapter { @Override
public int getCount() {
return strName.length;
} @Override
public Object getItem(int position) {
return null;
} @Override
public long getItemId(int position) {
return 0;
} @Override
public View getView(int position, View convertView, ViewGroup parent) {
convertView = View.inflate(MainActivity.this, android.R.layout.simple_list_item_2, null);
TextView text1 = (TextView) convertView.findViewById(android.R.id.text1);
TextView text2 = (TextView) convertView.findViewById(android.R.id.text2);
text1.setText(strName[position]);
text2.setText(strWeither[position]);
return convertView;
}
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.shaoxin.mylistactivity.MainActivity"> <ListView
android:id="@+id/list_3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="#ff0000"
android:dividerHeight="1dp" /> <ListView
android:id="@+id/list_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="#ff0000"
android:dividerHeight="1dp" /> <ListView
android:id="@+id/list_2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="#ff0000"
android:dividerHeight="1dp" /> </LinearLayout>
ListView列表的简单案例的更多相关文章
- Android ListView列表控件的简单使用
ListView 列表是我们经常会使用的控件, 如果想要自定义里面的显示的话是挺麻烦的, 需要新建XML.Class SimpleAdapter这两个文件, 较为麻烦. 如果我们只是想显示两.三行文字 ...
- Android项目开发全程(四)-- 将网络返回的json字符串轻松转换成listview列表
前面几篇博文介绍了从项目搭建到获取网络字符串,对一个项目的前期整体工作进行了详细的介绍,本篇接着上篇介绍一下怎么样优雅将网络返回的json字符串轻松转换成listview列表. 先上图,看一下效果. ...
- [Design Pattern] Observer Pattern 简单案例
Observer Pattern,即观察者模式,当存在一对多关系,例如一个对象一有变动,就要自动通知被依赖的全部对象得场景,属于行为类的设计模式. 下面是一个观察者模式的简单案例. Observer ...
- ListView列表拖拽排序
ListView列表拖拽排序能够參考Android源代码下的Music播放列表,他是能够拖拽的,源代码在[packages/apps/Music下的TouchInterceptor.java下]. 首 ...
- Android精通:View与ViewGroup,LinearLayout线性布局,RelativeLayout相对布局,ListView列表组件
UI的描述 对于Android应用程序中,所有用户界面元素都是由View和ViewGroup对象构建的.View是绘制在屏幕上能与用户进行交互的一个对象.而对于ViewGroup来说,则是一个用于存放 ...
- Spring Data Solr操作solr的简单案例
Spring Data Solr简介 虽然支持任何编程语言的能力具有很大的市场价值,你可能感兴趣的问题是:我如何将Solr的应用集成到Spring中?可以,Spring Data Solr就是为了方便 ...
- SSM框架整合(Spring+SrpingMVC+Mybatis) 简单案例
简介: SSM框架是Spring,SpringMVC 和Mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,dao层四层. Spring实现 ...
- SpringBoot基础学习(一) SpringBoot概念、简单案例实现、单元测试及热部署讲解
SpringBoot概念 Spring优缺点分析 Spring优点 Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品,无需开发重量级的 ...
- Android一个ListView列表之中插入两种不同的数据
http://www.cnblogs.com/roucheng/ Android一个ListView列表之中插入两种不同的数据 代码如下: public class ViewHolder{ Butto ...
随机推荐
- Photon服务器进阶&一个新游戏的出产(一)
许久没写了,今日闲来无事随性一些,总结一下最近的游戏经历(写游戏) Photon服务器的进阶~ 距离上一篇估计也过去一个多月了,对于Photon真是又爱又恨. 爱着它的书写方便. 恨着它的教程稀少总走 ...
- 入手了[云梯的VPN]--水文
之前写的文章 http://www.cnblogs.com/rollenholt/p/3783084.html 结果很多朋友都说访问不了了,现在重新发一下: 各位看官,这是一篇水文: 在用了一段时间s ...
- JS Select 月日日期联动
Js对Select控件进行联动操作,一个select选择月份后另一个select生成对应月份的所有日期. <%@ Page Language="C#" AutoEventWi ...
- Logistic Regression - Formula Deduction
Sigmoid Function \[ \sigma(z)=\frac{1}{1+e^{(-z)}} \] feature: axial symmetry: \[ \sigma(z)+ \sigma( ...
- 看《css知多少》的一些总结
问题 1.有些浏览器不完全支持css3,现在可以用哪个工具去检测浏览器是否支持,以及支持哪些项? modernizr:检测浏览器对HTML5和CSS3特性(至于modernizr的介绍,可以看我另外一 ...
- Install Docker on Ubuntu
Install Docker on Ubuntu Estimated reading time: 17 minutes Docker is supported on these Ubuntu oper ...
- IO流 FileOutputSteam在fos.txt写出hello
package cn.idcast2; import java.io.FileNotFoundException; import java.io.FileOutputStream; import ja ...
- jquery,php之间的ajax关系以及json
1.最简介写法 function AjaxDepotGoods(id){ $.ajax({ url:"{:U('stock/depot_goods')}", success:fun ...
- arguments 对象的老历史
引题:为什么 JavaScript 中的 arguments 对象不是数组 http://www.zhihu.com/question/50803453 JavaScript 1.0 1995 年, ...
- openjdk 完全编译指南
从openjdk.java.net下载openjdk的软件包,你就获得了所有相关的源码. 强烈建议首先仔细看懂 README-builds.html 指南. 在执行 make all 之前,首先要 执 ...