文档章节

改写ListView 实现加载本地图片 非 id

SuShine
 SuShine
发布于 2015/06/25 15:28
字数 334
阅读 23
收藏 0
//主Activity
import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

 

import android.app.Activity;

import android.content.Intent;

 

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.ListView;

import android.widget.SimpleAdapter;

import android.widget.SimpleAdapter.ViewBinder;

import android.widget.Toast;

 

public class TestListView extends Activity {


private String sightID;

private Bitmap bmp;

 

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.comment);



bmp = getLoacalBitmap("/sdcard/image.jpg");

ListView listView = (ListView) findViewById(R.id.listView1);  

        MyListAdapter adapter = new MyListAdapter(TestListView.this, getData());

        listView.setAdapter(adapter);  

          

    }  

  public static Bitmap getLoacalBitmap(String url) {

    try {

         FileInputStream fis = new FileInputStream(url);

         return BitmapFactory.decodeStream(fis);

    } catch (FileNotFoundException e) {

         e.printStackTrace();

         return null;

    }

  }

  

 // Bitmap bmp = BitmapFactory.decodeFile("/sdcard/1.jpg");

  private List<Commentinfo> getData(){  

  ArrayList<Commentinfo> arrayList = new ArrayList<Commentinfo>();  

        for(int i=0;i<10;i++){  

 

            arrayList.add(new Commentinfo(bmp, "用户"+i, "内容"+i));  

        }  

        return arrayList;  

          

    }


 

}


//2.Commentinfo.java
package com.su;

 

import android.graphics.Bitmap;

 

public class Commentinfo {


private Bitmap bitmap;  

    

private String comment;

    private String user;   

  

    public Commentinfo(Bitmap bitmap, String user ,String comment ) {  

        super();  

        this.bitmap = bitmap;

        this.user = user ;

        this.comment = comment;

        

    }  

    public Bitmap getBitmap() {

return bitmap;

}

 

public void setBitmap(Bitmap bitmap) {

this.bitmap = bitmap;

}

 

public String getComment() {

return comment;

}

 

public void setComment(String comment) {

this.comment = comment;

}

 

public String getUser() {

return user;

}

 

public void setUser(String user) {

this.user = user;

}

}

3.Mylistadapter.java

package com.su;

import java.util.List;

import android.app.Activity;

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 MyListAdapter extends BaseAdapter {

private Activity context;

private List<Commentinfo> list;

 

public MyListAdapter(Activity context, List<Commentinfo> list) {

this.context = context;

this.list = list;

}

 

@Override

public View getView(int position, View convertView, ViewGroup parent) {

LayoutInflater inflater = context.getLayoutInflater();

View itemView = inflater.inflate(R.layout.commentchild, null);

Commentinfo info = list.get(position);

TextView textView = (TextView) itemView.findViewById(R.id.itemUser);

TextView textView1 = (TextView) itemView.findViewById(R.id.itemContent);

ImageView imageView = (ImageView) itemView

.findViewById(R.id.profileImage);

textView.setText(info.getUser());

textView1.setText(info.getComment());

imageView.setImageBitmap(info.getBitmap());

return itemView;

}

 

@Override

public int getCount() {

return list.size();

}

 

@Override

public Object getItem(int position) {

return list.get(position);

}

 

@Override

public long getItemId(int position) {

return position;

}

 


}

// 源码下载http://dl.dbank.com/c0w7tekit4



本文转载自:http://blog.csdn.net/sfshine/article/details/7439674

共有 人打赏支持
SuShine
粉丝 126
博文 562
码字总数 154303
作品 0
朝阳
后端工程师
私信 提问
高效使用Bitmaps(二) 后台加载Bitmap

为什么要在后台加载Bitmap? 有没有过这种体验:你在Android手机上打开了一个带有含图片的ListView的页面,用手猛地一划,就见那ListView嘎嘎地卡,仿佛每一个新的Item都是顶着阻力蹦出来的一...

扔物线
2013/12/12
0
7
Android 的 ListView 动态获取网络图片

通过ListView可以填充一个列表,在列表里可以加上图片,文字等等,但常规的方法只能加载到本地R.id.xxx的图片,无法做到动态获取。其实要 动态获取也不难,关键是靠人品,一种就是去抠源码,...

无鸯
2011/09/05
3.6K
4
Android Listview滑动时不加载数据,停下来时加载数据

本文来源:http://blog.csdn.net/yy1300326388/article/details/45153813 思路:1.Activity中对Listview的滑动进行监听;并且将状态传递到适配器中; 2. 适配器中接收Activity中滑动状态;若是...

正阳Android
2017/11/27
0
0
Android 面试题之Listview(不断更新)

以下所有内容以及实用的知识点已被整理app,欢迎下载 下载方式一:酷安商城搜索Android_程序猿即可下载 下载方式二:扫描下载二维码进行下载 image.png Android 面试题之J2EE(不断更新) An...

蛋蛋松
2017/12/05
0
0
listview加载数据

首先我们需要理清思路:使用ListView显示数据是很方便的,ListVIew的数据之间通过适配器adapter去作为桥梁连接起来。当我们需要使用listview显示大量数据的时候,我们需要使用到分页功能,比...

范大脚脚
2017/11/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

苏宁金融红包系统大促海量流量背后的技术支撑

发红包是目前各大互联网公司最常用的营销手段之一,它形式多样,内容丰富。2016 年底苏宁金融开启了红包系统及相关系统的项目开发。 本文将对苏宁金融红包系统的架构部署方式、演变过程、技术...

架构师springboot
7分钟前
1
0
Linux恢复误删除的文件或者目录

2017 年 2 月 1 日 GitLab 数据库被误删引起了广大争议. linux不像windows有个回收站,使用rm -rf *基本上文件是找不回来的。 那么问题来了: 对于linux下误删的文件,我们是否真的无法通过软...

Goopand
8分钟前
0
0
从NeurIPS 2018看AI发展路线!

摘要: 从NeurIPS 2018看AI发展路线! 去年9月份的时候,我发表过一份技术报告,阐述了我认为人工智能最重要的挑战,大概有以下四个方面: ·可伸缩性(Scalability)计算或存储的成本不与神...

阿里云官方博客
8分钟前
0
0
快速入门:selenium自动化测试+ubuntu系统+php语言+firefox/chrome浏览器

前言 selenium可用于界面UI自动化测试,因此也可用于来做一些自动化方面的事情。下面简单总结概括一下,对于一位新手,学习和使用selenium的基本过程。 本文只要针对:selenium自动化测试+ub...

暗夜在火星
10分钟前
0
0
List集合知识总结

转载: 一:集合的概念 集合:保存数量不确定的数据,以及保存具有映射关系的数据的容器,简单的理解就是用于存储数量不等的多个对象的容器。 集合和数组不一样,数组元素既可以是基本类型的值...

小橙子的曼曼
11分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部