android的listview+BaseAdapter的例子
准备一个listview的xml,绑定到activity里面的listView的变量
准备一个继承自BaseAdapter的的MyAdapter,构造函数里面传入一个datasource的array,一个context,一般为绑定listview的activity(用来把item的xml实例化为layout)
准备一个数据模型,可以用hashmap,也可以用list
MainActivity.java
package com.example.testapp;import java.util.ArrayList; import java.util.List;import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.GridView; import android.widget.ListView; import android.widget.Toast;public class MainActivity extends Activity {private List<ObjectEntity> dataSource;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// initListView(); initGridView();}private void initListView() {setContentView(R.layout.activity_list_main);ListView listView = (ListView)findViewById(R.id.listView1);dataSource = new ArrayList<ObjectEntity>();for (int i = 0; i < 10; i++) {ObjectEntity object = new ObjectEntity();object.imgUrl = "http://a.hiphotos.baidu.com/album/w%3D2048/sign=3da6584ff2deb48ffb69a6dec4273b29/960a304e251f95ca11945098c8177f3e670952bf.jpg";object.desc = "这是list描述信息";dataSource.add(object);}MyAdapter myAdapter = new MyAdapter(dataSource,MainActivity.this);listView.setAdapter(myAdapter);listView.setOnItemClickListener(new OnItemClickListener() {public void onItemClick(AdapterView<?> parent, View view, int position, long id){ObjectEntity data = dataSource.get(position);Toast.makeText(getApplicationContext(), data.desc, Toast.LENGTH_SHORT).show(); }});}private void initGridView() {setContentView(R.layout.ctivity_grid_main);GridView gridView = (GridView)findViewById(R.id.gridView1);dataSource = new ArrayList<ObjectEntity>();for (int i = 0; i < 10; i++) {ObjectEntity object = new ObjectEntity();object.imgUrl = "http://a.hiphotos.baidu.com/album/w%3D2048/sign=3da6584ff2deb48ffb69a6dec4273b29/960a304e251f95ca11945098c8177f3e670952bf.jpg";object.desc = "这是grid描述信息";dataSource.add(object);}MyAdapter myAdapter = new MyAdapter(dataSource,MainActivity.this);gridView.setAdapter(myAdapter);gridView.setOnItemClickListener(new OnItemClickListener() {public void onItemClick(AdapterView<?> parent, View view, int position, long id){ObjectEntity data = dataSource.get(position);Toast.makeText(getApplicationContext(), data.desc, Toast.LENGTH_SHORT).show(); }});} }
MyAdapter.java
package com.example.testapp; import java.util.List;import net.tsz.afinal.FinalBitmap; import android.app.Activity; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView;public class MyAdapter extends BaseAdapter {private FinalBitmap fb;private List<ObjectEntity> dataSourceArray;private Context activityContext;public MyAdapter(List<ObjectEntity> dataSource,Context context) {// TODO Auto-generated constructor stubthis.dataSourceArray = dataSource;this.activityContext = context;fb = FinalBitmap.create(context);//初始化FinalBitmap模块 }@Overridepublic int getCount() {// TODO Auto-generated method stubreturn this.dataSourceArray.size();}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// TODO Auto-generated method stub ObjectEntity data = dataSourceArray.get(position);if ( null == convertView ){LayoutInflater inflater = ((Activity)activityContext).getLayoutInflater();convertView = inflater.inflate(R.layout.item, null);ImageView imgView = (ImageView)convertView.findViewById(R.id.listitem_pic); //AFinal很好很强大fb.configLoadingImage(R.drawable.ic_launcher);fb.display(imgView,data.imgUrl);}TextView info = (TextView)convertView.findViewById(R.id.listitem_title);info.setText(data.desc);return convertView;} }
ObjectEntity.java
package com.example.testapp;public class ObjectEntity {public String imgUrl;public String desc; }
转载于:https://www.cnblogs.com/ziyouchutuwenwu/archive/2013/05/23/3094633.html
android的listview+BaseAdapter的例子相关推荐
- 【转】【Android】使用BaseAdapter实现复杂的ListView
原文网址:http://blog.csdn.net/jueblog/article/details/11857281 使用BaseAdapter实现复杂的ListView的步骤: 1. 数据你要准备好 ...
- android 自定义baseadapter listview,android之ListView和BaseAdapter的组合使用
BaseAdapter是基本适配器,功能强大,凡是能用ArrayAdapter和SimpleAdapter解决的,都可以使用BaseAdapter解决. BaseAdapter是一个抽象类,所以需要自 ...
- Android杂谈--ListView之BaseAdapter的使用一(转)
BaseAdapter是直接继承自接口类Adapter的,使用BaseAdapter时需要重写很多方法 BaseAdapter与其他Adapter有些不一样,其他的Adapter可以直接在其 ...
- Android杂谈--ListView之BaseAdapter的使用
Android杂谈--ListView之BaseAdapter的使用 前言 话说开发用了各种Adapter之后感觉用的最舒服的还是BaseAdapter,尽管使用起来比其他适配器有些麻烦,但是使用它却 ...
- 【Android】 Android中ListView使用详解
ListView的使用方法 ListView是Android软件开发中非常重要组件之一,基本上是个软件基本都会使用ListView ,今天我通过一个demo来教大家怎么样使用ListView组件 绘 ...
- 宏锦软件 Android 的 ListView 使用详解
宏锦软件爱好者在开发Android软件时,对ListView的使用有点陌生,于是翻了许多资料,这里给大家一份比较好的教程,希望有用. 在android开发中ListView是比较常用的组件,它以 ...
- Android杂谈--ListView之SimpleAdapter的使用
Android杂谈--ListView之SimpleAdapter的使用 SimpleAdapter SimpleAdapter是扩展性最好的适配器,可以定义各种你想要的布局,而且使用很方便 Simp ...
- Android杂谈--ListView之ArrayAdapter的使用
Android杂谈--ListView之ArrayAdapter的使用 ArrayAdapter 总是感觉写自己的博客才更能够学到东西,网上尽管有很多好的资料,但是参差不齐,需要浪费大量时间才能够找到 ...
- Android 实现ListView的展开式动画ExpandAnimation
2019独角兽企业重金招聘Python工程师标准>>> 注意:本次修改,修补了之前的部分bug android中展开动画主要有2中,Translate和Scale,但运行效果并不像j ...
最新文章
- 《C#精彩实例教程》小组阅读09 -- C#数组与集合
- 在高并发分布式情况下生成唯一标识id
- linux sendto 对方关闭后性能,Gateway的请问sendToUid是否有性能问题?
- CNCF宣布Envoy项目正式毕业
- javascript正则表达式总结(test|match|search|replace|split|exec)
- 如何解决AET field创建失败后的一系列dump
- Java8-如何构建一个Stream
- html制作花样链接卡页面_8 个「新标签页」Chrome 扩展,把 New Tab 页面玩出花样 | Matrix 精选...
- flutter怎么手动刷新_Flutter 小技巧实现通用的局部刷新
- uushare.com 增加了小组(群)功能
- .net 画图 饼图折线图等
- Liferay 6.2 改造系列之十三:修改用户编辑页面表单内容
- 基于MATLAB的数字滤波器之低通滤波器
- 基于JavaMail的Java邮件发送:复杂邮件发送
- ESP8266自动下载电路分析
- 基于openmv的汽车内后视镜
- HearthBuddy卡牌无法识别
- vue框架优点和缺点
- 居家第二十六天烤鸡翅
- java怎么用蓝牙传_[技巧]蓝牙传输JAVA简易教程(图文及小常识)