package com.zx.listview01;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import android.R.integer;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AbsListView;
import android.widget.AbsListView.OnScrollListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast; public class MainActivity extends Activity implements OnItemClickListener,OnScrollListener{
//ListView需要创建适配器用于绑定展示数据
private ArrayAdapter<String> arr_adapter;
private SimpleAdapter simpleAdapter;
private ListView lView; private List<Map<String, Object>> data;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); String[] arrStrings={"京东","淘宝","网易"};
lView=(ListView)findViewById(R.id.listView1);
arr_adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, arrStrings);
//ListView绑定适配器
//lView.setAdapter(arr_adapter); data=new ArrayList<Map<String,Object>>();
simpleAdapter = new SimpleAdapter(this, GetData(), R.layout.itemmain, new String[]{"imageView1","textView1"}, new int[] {R.id.imageView1,R.id.textView1});
lView.setAdapter(simpleAdapter); lView.setOnItemClickListener(this);
lView.setOnScrollListener(this);
} private List<Map<String, Object>> GetData() {
for(int i=0;i<20;i++){
Map<String, Object> map=new HashMap<String, Object>();
map.put("imageView1", R.drawable.ic_launcher);
map.put("textView1", "你好"+i);
data.add(map);
}
return data;
} @Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
// TODO 自动生成的方法存根
switch (scrollState) {
case SCROLL_STATE_FLING://用户在手指离开屏幕之前,由于用力划了一下,视图仍然依靠惯性滑动
Map<String, Object> map=new HashMap<String, Object>();
map.put("imageView1", R.drawable.ic_launcher);
map.put("textView1", "淘宝");
data.add(map);
simpleAdapter.notifyDataSetChanged(); break;
case SCROLL_STATE_IDLE://视图停止滑动
break;
case SCROLL_STATE_TOUCH_SCROLL://手指没有离开屏幕,视图正在滑动
break;
}
} @Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
// TODO 自动生成的方法存根 } @Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
// TODO 自动生成的方法存根
String txtString = lView.getItemAtPosition(position).toString(); Toast.makeText(this, "下标:"+position+",内容:"+txtString, Toast.LENGTH_SHORT).show();
}
}

  

安卓开发--ListView的更多相关文章

  1. 安卓开发——ListView控件(初始化ListView、列表刷新、长按添加menu)

    前言: ListView——列表,它作为一个非常重要的显示方式,不管是在Web中还是移动平台中,都是一个非常好的.不开或缺的展示信息的工具.在Android中,ListView控件接管了这一重担,在大 ...

  2. 安卓开发_浅谈ListView(SimpleAdapter数组适配器)

    安卓开发_浅谈ListView(ArrayAdapter数组适配器) 学习使用ListView组件和SimapleAdapter适配器实现一个带图标的ListView列表 总共3部分 一.MainAc ...

  3. 安卓开发_浅谈ListView(自定义适配器)

    ListView作为一个实际开发中使用率非常高的视图,一般的系统自带的适配器都无法满足开发中的需求,这时候就需要开发人员来自定义适配器使得ListView能够有一个不错的显示效果 有这样一个Demo ...

  4. 安卓开发笔记——关于照片墙的实现(完美缓存策略LruCache+DiskLruCache)

    这几天一直研究在安卓开发中图片应该如何处理,在网上翻了好多资料,这里做点小总结,如果朋友们有更好的解决方案,可以留言一起交流下. 内存缓存技术 在我们开发程序中要在界面上加载一张图片是件非常容易的事情 ...

  5. 安卓开发学习之AutoCompleteTextView

    最近在学习安卓开发,开始是看视频学的,基本上是照着老师的操作来,但其实老师也是按照安卓的开发文档来教的,于是决定试试自己看文档来学. 今天学到AutoCompleteTextView,一上来先按照Li ...

  6. 安卓开发_浅谈Fragment之ListFragment

    ListFragment,即Fragment的一个子类,当我们用的一个Fragment只需要一个listview视图的时候使用 该类有几个特点: 1.ListFragment 本身具只有一个ListV ...

  7. 安卓开发笔记——打造万能适配器(Adapter)

    为什么要打造万能适配器? 在安卓开发中,用到ListView和GridView的地方实在是太多了,系统默认给我们提供的适配器(ArrayAdapter,SimpleAdapter)经常不能满足我们的需 ...

  8. 【安卓开发】一个简单快递查询APP实例的实现摘要

    前言 做毕业设计涉及到安卓开发,决定好好学习安卓开发.在正式做毕业设计之前,有必要先设计和完成一个与毕业设计最终成果相关的demo或者说样例APP.最终毕业设计需要实现的功能包括通过调用PHP端API ...

  9. 基于eclipse-java的平台上搭建安卓开发环境

    首先感谢好人的分享!http://www.mamicode.com/info-detail-516839.html 系统:windows 7 若想直接安装eclipse—android的,请启动如下传 ...

随机推荐

  1. Android Touch事件传递机制全面解析(从WMS到View树)

    转眼间近一年没更新博客了,工作一忙起来.非常难有时间来写博客了,因为如今也在从事Android开发相关的工作,因此以后的博文也会很多其它地专注于这一块. 这篇文章准备从源代码层面为大家带来Touch事 ...

  2. Java String内存释放

    Java String内存释放 这是一个坑,Java对于String对象,不进行内存的回收: 处理大数据量的时候,少用String. 与JDK有关系:jdk1.6环境下,内存只占用10M,jdk1.8 ...

  3. servlet调用的几种方式

    參见 文库/java/javaEE全新学习教程2.2节 1.通过URL调用 2通过提交表单 3超链接 4 javascript写一个函数,调用这个函数 1,首先在project的WebRoot目录下建 ...

  4. 超级简单JS网页倒计时代码

    <script type="text/javascript"> // JavaScript Document function ShowTimes(){ var Aft ...

  5. JSON数据的生成与解析

    JSON数据的生成与解析.首先先到网上下载一个json jar包,我用的是org.json 演示样例代码: package json; import org.json.JSONArray; impor ...

  6. Android application framework 分析[in process]

    application activity application service application UI system application sdk tool JVM 1 activity t ...

  7. Find Blank Cell in Excel

    Click Home > Find & Select > Go To Special. In the Go To Special dialog box, check the Bla ...

  8. Stop being a perfectionist

    节选自 7 Things You Need To Stop Doing To Be More Productive, Backed By Science “We found that perfecti ...

  9. 搞定ubuntu下环境变量的配置

    Ubuntu Linux系统环境变量配置文件: /etc/profile : 在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. ...

  10. ios问题bug收录——1

     **[2713:59682] *** Assertion failure in -[MBProgressHUD show:], /Users/lu/Desktop/****/Pods/MBProgr ...