安卓开发--ListView
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的更多相关文章
- 安卓开发——ListView控件(初始化ListView、列表刷新、长按添加menu)
前言: ListView——列表,它作为一个非常重要的显示方式,不管是在Web中还是移动平台中,都是一个非常好的.不开或缺的展示信息的工具.在Android中,ListView控件接管了这一重担,在大 ...
- 安卓开发_浅谈ListView(SimpleAdapter数组适配器)
安卓开发_浅谈ListView(ArrayAdapter数组适配器) 学习使用ListView组件和SimapleAdapter适配器实现一个带图标的ListView列表 总共3部分 一.MainAc ...
- 安卓开发_浅谈ListView(自定义适配器)
ListView作为一个实际开发中使用率非常高的视图,一般的系统自带的适配器都无法满足开发中的需求,这时候就需要开发人员来自定义适配器使得ListView能够有一个不错的显示效果 有这样一个Demo ...
- 安卓开发笔记——关于照片墙的实现(完美缓存策略LruCache+DiskLruCache)
这几天一直研究在安卓开发中图片应该如何处理,在网上翻了好多资料,这里做点小总结,如果朋友们有更好的解决方案,可以留言一起交流下. 内存缓存技术 在我们开发程序中要在界面上加载一张图片是件非常容易的事情 ...
- 安卓开发学习之AutoCompleteTextView
最近在学习安卓开发,开始是看视频学的,基本上是照着老师的操作来,但其实老师也是按照安卓的开发文档来教的,于是决定试试自己看文档来学. 今天学到AutoCompleteTextView,一上来先按照Li ...
- 安卓开发_浅谈Fragment之ListFragment
ListFragment,即Fragment的一个子类,当我们用的一个Fragment只需要一个listview视图的时候使用 该类有几个特点: 1.ListFragment 本身具只有一个ListV ...
- 安卓开发笔记——打造万能适配器(Adapter)
为什么要打造万能适配器? 在安卓开发中,用到ListView和GridView的地方实在是太多了,系统默认给我们提供的适配器(ArrayAdapter,SimpleAdapter)经常不能满足我们的需 ...
- 【安卓开发】一个简单快递查询APP实例的实现摘要
前言 做毕业设计涉及到安卓开发,决定好好学习安卓开发.在正式做毕业设计之前,有必要先设计和完成一个与毕业设计最终成果相关的demo或者说样例APP.最终毕业设计需要实现的功能包括通过调用PHP端API ...
- 基于eclipse-java的平台上搭建安卓开发环境
首先感谢好人的分享!http://www.mamicode.com/info-detail-516839.html 系统:windows 7 若想直接安装eclipse—android的,请启动如下传 ...
随机推荐
- Genymotion出现Installation error: INSTALL_FAILED_CPU_ABI_INCOMPATIBLE错误解决方法
今天在Genymotion上执行曾经的一个项目(libs中有多个SDK和so文件)时,出现下面错误: Console控制台中:Installation error: INSTALL_FAILED_CP ...
- 最全Pycharm教程(29)——再探IDE,速成手冊
1.准备工作 (1)确认安装了Python解释器,版本号2.4到3.4均可. (2)注意Pycharm有两个公布版本号:社区版和专业版,详见 Edition Comparison Matrix 2.初 ...
- m_Orchestrate learning system---十四、数据表中字段命名规则
m_Orchestrate learning system---十四.数据表中字段命名规则 一.总结 一句话总结:a.保证唯一 b.见名知意 1.注意php中的数组类函数和字符串类函数的前缀? 数组类 ...
- matplotlib 可视化 —— matplotlib.patches
官方帮助文档 patches - Matplotlib 1.5.1 documentation patches 下主要包含的常用图形类有: Eclipse Circle Wedge 1. plt.gc ...
- Pandas与Matplotlib
Pandas与Matplotlib基础 pandas是Python中开源的,高性能的用于数据分析的库.其中包含了很多可用的数据结构及功能,各种结构支持相互转换,并且支持读取.保存数据.结合matplo ...
- angular4过滤器
Angular4中过滤器 一.大小写转换过滤器 uppercase将字符串转换为大写 lowercase将字符串转换为小写 <p>将字符串转换为大写{{str | uppercase}}& ...
- Java8 方法引用与构造器引用,数组引用
package java_8; import org.junit.Test; import java.io.PrintStream; import java.util.Comparator; impo ...
- Linux Screen命令使程序远离断网影响
linux中强大的screen命令2008-12-02 21:53今天发现了一个“宝贝”,就是Linux的screen命令,对于远程登录来说,不仅提供了类似于nohup的功能,而且提供了我非常喜欢的“ ...
- IE6 css fixed
.fixed-top{position:fixed;bottom:auto;top:0px;} .fixed-bottom{position:fixed;bottom:0px;top:auto;} . ...
- vuecli的使用之项目中的文件
cli创建的项目截图 node_moudule :下载的依赖包的存储位置. public :html的地方??? src :写代码的地方 man.js :入口文件 .browserslistrc :浏 ...