文档章节

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

SuShine
 SuShine
发布于 2015/06/25 15:28
字数 334
阅读 9
收藏 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
粉丝 123
博文 498
码字总数 144879
作品 0
朝阳
后端工程师
Android 的 ListView 动态获取网络图片

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

无鸯
2011/09/05
3.5K
4
高效使用Bitmaps(二) 后台加载Bitmap

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

扔物线
2013/12/12
0
7
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
Android面试题:Listview

今日,看到群里朋友发的一部分面试题,决定把这这些面试题的答案写下来,如下: 1、ListView怎么和ScrollView兼容? ok 2、ViewPager无限轮播图片 3、out of memory内存溢出怎么解决 4、三级...

微笑的江豚
2016/06/22
101
0

没有更多内容

加载失败,请刷新页面

加载更多

Bash重定向详解

Bash重定向详解 Bash的重定向指的是将命令的输入和输出导向不同地方,而不是默认的标准输入、标准输出和标准错误。Bash的重定向实际上是对标准输入、标准输出和标准错误的重置,进而将所需输...

小陶小陶
今天
3
0
EventBus原理深度解析

一、问题描述 在工作中,经常会遇见使用异步的方式来发送事件,或者触发另外一个动作:经常用到的框架是MQ(分布式方式通知)。如果是同一个jvm里面通知的话,就可以使用EventBus。由于Event...

yangjianzhou
今天
6
0
OpenCV图像处理实例:libuv+cvui显示摄像头视频

#include <iostream>#include <opencv2/opencv.hpp>#define CVUI_IMPLEMENTATION#include <cvui.h>extern "C"{#include <uv.h>}using namespace std;#define WINDOW_NAM......

IOTService
今天
3
0
openJDK之JDK9的String

1.openJDK8的String 先来看下openJDK8的String的底层,如下图1.1所示: 图1.1 底层上使用的是char[],即char数组 每个char占16个bit,Character.SIZE的值是16。 2.openJDK9中的String 图2.1...

克虏伯
今天
4
0
UEFI 模式下如何安装 Ubuntu 16.04

作者:知乎用户 链接:https://www.zhihu.com/question/52092661/answer/259583475 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 针对UEFI模式下安装U...

寻知者
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部