博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android的listview+BaseAdapter的例子
阅读量:7281 次
发布时间:2019-06-30

本文共 5218 字,大约阅读时间需要 17 分钟。

准备一个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
dataSource; @Override protected 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
(); 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
(); 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
dataSourceArray; private Context activityContext; public MyAdapter(List
dataSource,Context context) { // TODO Auto-generated constructor stub this.dataSourceArray = dataSource; this.activityContext = context; fb = FinalBitmap.create(context);//初始化FinalBitmap模块 } @Override public int getCount() { // TODO Auto-generated method stub return this.dataSourceArray.size(); } @Override public Object getItem(int position) { // TODO Auto-generated method stub return position; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } @Override public 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;}

 

转载地址:http://rxzjm.baihongyu.com/

你可能感兴趣的文章
ubuntu 10.10下安装与配置CUDA 4.0
查看>>
Cython: C-Extensions for Python
查看>>
POJ 1423 Big Number
查看>>
How Tomcat Works 学习-我们到底能走多远系列(8)
查看>>
一个父亲给儿子的信
查看>>
SQL SERVER--指定查询优化参数
查看>>
JWhoisServer
查看>>
post方式发微博
查看>>
命令模式
查看>>
SMAS——service和dao
查看>>
httpclient处理页面跳转
查看>>
JS在textarea光标处插入文本
查看>>
c++ new的三种形态
查看>>
jsp文件做模板文件生成代码
查看>>
spring.net 学习笔记之 AOP (异常记录实例)转
查看>>
数据库模糊搜索时,关键字中有%号,怎么办?
查看>>
Android 内存溢出(Out Of Memory)的总结
查看>>
TextView不用获取焦点也能实现跑马灯
查看>>
Android HandlerThread简介
查看>>
win下 bundle install 显示json安装错误解决办法
查看>>