- 浏览: 284831 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (142)
- android (64)
- android team 应用开发流程 (0)
- android 个人 开发流程 (1)
- android UI 切换皮肤 (1)
- java (9)
- 敏捷开发 (1)
- git (1)
- 学习 (2)
- hibernate (0)
- jQuery (1)
- windows (2)
- tomcat (1)
- Spring (3)
- struts2 (5)
- mysql (4)
- linux (15)
- JBPM (2)
- maven (4)
- 企业管理 (1)
- Iphone (1)
- 工作计划 (0)
- news (1)
- MOVE (1)
- exception-android (1)
- RFID (1)
- 测试 (7)
- android基础 (1)
- Gson (1)
- Android中的单元测试 (1)
最新评论
-
jlees:
Nice post.i hope this will help ...
Business mobile application development. The developer’s insight. -
weisi2375:
确实很详细的开发流程。
Android应用开发全流程 -
mikefather:
不错不错
Android,谁动了我的内存 -
ylzyd12345:
mark一下,谢谢分享
android的一些开源项目 -
limingcai:
确实不行,2.2就不行了,虽说2.3了 只有1.6可以
Android完全关闭应用程序
大家知道ImageView 类虽然有一个 setImageUri 方法,但不能直接接受一个由网络地址生成的uri作为参数从而显示图片,我们只好使用其 setImageBitmap 方法,如
Bitmap mBitmap = null; URL url = new URL(imageUrl); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); InputStream is = conn.getInputStream(); mBitmap = BitmapFactory.decodeStream(is);在SimpleAdapter中需要一个数据源,用来存储数据的,在显示图片时我们要用HashMap<>存储一个Bitmap;但仅存取了Bitmap时在ListView中是无法显示图片的,我们需要对SimpleAdapter进行处理 。
如下是对SimpleAdaptr处理的主要代码:adapter.setViewBinder(new ViewBinder() {
public boolean setViewValue(View view, Object data, String textRepresentation) { //判断是否为我们要处理的对象 if(view instanceof ImageView && data instanceof Bitmap){ ImageView iv = (ImageView) view; iv.setImageBitmap((Bitmap) data); return true; }else return false; } });看API对Android.widget.SimpleAdapter.ViewBinder的解释:
This class can be used by external clients of SimpleAdapter to bind values to views. You should use this class to bind values to views that are not directly supported by SimpleAdapter or to change the way binding occurs for views supported by SimpleAdapter. 你可以使用该类来处理SimpleAdapter不直接支持的数据; 下面来看看完整的代码: main.xml 中就是一个ListView , list_item.xml 是为ListView中控件提供布局 ,就是一个ImageView。这两个比较简单,不贴出代码 主要代码 MainActivity.Java
package com.yin.listView;
import java.io.IOException;
import java.io.InputStream;
import java.NET.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.SimpleAdapter.ViewBinder;
public class MainActivity extends Activity {
ListView mListView;
View mView;
public static final String imageUrl = "http://www.google.com//ig/images/weather/mostly_sunny.gif";
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mView = LayoutInflater.from(this).inflate(R.layout.list_item,null);
mListView = (ListView) findViewById(R.id.mList);
List<HashMap<String,Object>> mListData = getListData();
SimpleAdapter adapter = new SimpleAdapter(this, mListData, R.layout.list_item,
new String[]{"icon"}, new int[]{R.id.image});
adapter.setViewBinder(new ViewBinder() {
public boolean setViewValue(View view, Object data,
String textRepresentation) {
//判断是否为我们要处理的对象
if(view instanceof ImageView && data instanceof Bitmap){
ImageView iv = (ImageView) view;
iv.setImageBitmap((Bitmap) data);
return true;
}else
return false;
}
});
mListView.setAdapter(adapter);
}
public List<HashMap<String,Object>> getListData(){
List<HashMap<String,Object>> list = new ArrayList<HashMap<String,Object>>();
HashMap<String,Object> map = null;
for(int i=0;i<5;i++){
map = new HashMap<String, Object>();
map.put("icon",getBitmap());
list.add(map);
}
return list;
}
public Bitmap getBitmap(){
Bitmap mBitmap = null;
try {
URL url = new URL(imageUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
InputStream is = conn.getInputStream();
mBitmap = BitmapFactory.decodeStream(is);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return mBitmap;
}
}
<uses-permission android:name="android.permission.INTERNET">
发表评论
-
Resource-type-->Color State List Resource
2013-04-22 10:50 1679Color State List Resource Col ... -
Business mobile application development. The developer’s insight.
2012-11-07 17:49 1651from: http://www.enterra-inc.co ... -
Android. Handling some SQLite issues.
2012-11-07 17:48 1787转载: http://www.enterra-inc.com/ ... -
git 获取android source
2012-08-15 12:52 3685在做android开发的时,在遇到某一问题,想看andro ... -
Android 手机上获取物理唯一标识码
2012-07-27 10:27 11776唯一标识码这东西在网络应用中非常有用,例如检测是否 ... -
android listview adapter
2012-06-23 14:41 1022listview 在什么情况下会刷新: 1. 当ada ... -
Android多线程下载详解
2012-06-20 18:31 945http://www.pin5i.com/showtopic- ... -
Unable to open sync connection!
2012-06-18 17:04 971把设置里的USB调试重新开了开,问题解决! -
android checkbox 定制(修改checkbox 的图片)
2012-06-18 14:30 3654转载:http://www.bangchui.org/read ... -
Android ProgressBar自定义图片进度,自定义渐变色进度条
2012-06-15 16:53 7594 -
Android应用开发全流程
2012-06-15 09:21 3783转载:http://blog.csd ... -
intent.setDataAndType
2012-06-13 18:24 75001. Intent open a picture ... -
Android操作HTTP实现与服务器通信
2012-06-03 14:47 1747本示例以Servlet为例,演示Android与Serv ... -
android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thre
2012-06-03 12:00 9042当应用程序启动,创建了一个叫“main”的线程,用于管理 ... -
这篇文章是android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用。 1.签名的意义 为了保证每个应用程序开发商合法ID,防止部分开
2012-05-25 13:58 1530这篇文章是android开发人员的必备知识,是我特别为大 ... -
android Collections.sort(List<T> list) 与JAVA Collections.sort(List<T> list)
2012-05-04 10:33 1863Info.java : public class In ... -
android string xliff:g
2012-03-22 10:47 1022这个主要用于程序中,动态的插入内容时候使用,例如, ... -
android的一些开源项目
2011-12-07 17:13 2172转自: http://www.uuroid.com ... -
Understanding the Android Build Process
2011-11-25 12:38 982http://www.alittlemadness.com/2 ... -
Android 命令行手动编译打包详解
2011-11-24 10:07 1249Android 命令行手动编译打包过程图 【详细步骤】: 1 ...
相关推荐
为了在ListView中显示图片,我们需要借助额外的数据结构,如ImageList。ImageList是一个可以存储多张图片的容器,它可以被多个控件共享,比如ListView、TreeView等。在Android中,我们可以使用Adapter(如...
在给定的场景中,"C#在ListView中Subitem显示图片"是一个关于在ASP.NET Web应用程序中使用ListView控件来展示数据时,如何在Subitems中添加图像的功能。 ListView控件是ASP.NET 2.0引入的一种高度可定制的数据绑定...
通常,我们会使用ImageView作为显示图片的容器。 2. 图片加载库:考虑到性能和内存管理,推荐使用如Glide、Picasso或Fresco这样的图片加载库。这些库能高效地加载图片,并有缓存机制,避免内存溢出。例如,使用...
在 loadDrawable 方法中,我们将加载完成的图片传递给 ImageCallback,以便在 ListView 中显示图片。 6. loadImageFromUrl 方法 loadImageFromUrl 方法是加载图片的核心方法。该方法使用 URLConnection 来加载图片...
如果需要显示图片下载进度,可以使用`listener`接口: ```java Glide.with(context) .load(url) .listener(new RequestListener() { @Override public boolean onLoadFailed(@Nullable GlideException e, ...
这个项目“listview 添加图片效果显示,加文字搜索提示”显然关注于如何在ListView中实现图文混排以及添加搜索功能。以下将详细讲解这两个关键知识点。 1. **图文混排**: 在ListView中显示图文混排的内容,通常...
在 ListView 控件中显示图片时,我们需要使用 ImageView 控件来显示图片,并使用 Bitmap 来存储图片数据。在 SimpleAdapter 中,我们需要对 ImageView 进行处理,使得图片可以正确地显示出来。 知识点7:布局文件的...
总之,"Listview显示网络图片"涉及到Android开发中的性能优化和用户体验设计。通过使用异步加载库如Glide,我们可以高效地在ListView中加载网络图片,同时保证应用的流畅性。同时,合理利用缓存和优化策略,可以...
本篇文章将深入探讨如何对ListView显示图片进行优化,确保流畅的用户体验。 1. 使用高效的图片加载库:对于ListView中的图片加载,推荐使用像Glide、Picasso或 Fresco 这样的第三方库。这些库具有智能缓存机制,能...
将上传图片到ListView中且保存到指定文件夹下,以缩略图形式显示,且可以删除、浏览图片。
在我们的场景中,我们可能只需要一列来显示图片,而其他列可以用来显示图片的描述或者其他相关信息。 实现图片浏览的关键在于设置ListView的视图模式。默认情况下,ListView是文本模式,但我们可以将其设置为...
本示例将深入讲解如何在ListView中实现图片和文字的结合显示,以增强用户体验。我们将使用Android Studio 3.1.4进行开发。 首先,理解ListView的基本概念。ListView是一种可滚动的视图,用于展示一个可变大小的数据...
通过以上步骤,"Listview显示网络图片demo--真正简单好用"项目为我们提供了一个实用的解决方案,使得在ListView中加载网络图片变得高效且不易出错。开发者可以轻松地将这个Demo应用到自己的项目中,优化用户体验,...
以上就是Android解析网络图片并显示在ListView中的主要知识点,这些技术和实践对于任何需要动态加载图片的Android应用来说都是至关重要的。在实际开发中,应根据项目需求和性能要求选择合适的方法和库。
综上所述,解决ListView中图片重复加载的关键在于正确使用图片加载库,如Android-Universal-Image-Loader,通过合理的缓存策略和管理图片加载生命周期,确保图片只加载一次,并在item重用时正确显示。这不仅可以提高...
本教程将详细讲解如何在ListView的LargeIcon模式下实现图片的居中显示,并提供两个示例以适应不同的项目需求。 首先,我们需要理解ListView的工作原理。ListView通过Adapter来绑定数据和视图,当数据源发生变化或...
它主要通过ListView中加载指定文件夹中所有图片并通过双击缩略图显示具体图片,是比较基础的C#图片打开代码,但是对学习C#初级同学和研究ListVie控件的同学非常有帮助. 免费资源,仅供分享与大家学习,希望对大家有所...
在实际应用中,我们经常需要在ListView的每个Item中显示图片。然而,如果直接加载网络或本地的大图,可能会导致性能问题,如界面卡顿,用户体验下降。这篇内容将深入探讨如何在ListView中高效地显示图片。 首先,...
然而,当ListView中的每一项都需要显示网络图片时,如果不进行优化,可能会导致性能问题,如界面卡顿、滚动不流畅等。这个问题的解决方法是高效地加载网络图片并自定义ListView的布局。 首先,我们需要了解异步加载...
这些库支持内存和磁盘缓存,自动处理图片尺寸,避免OOM,并能优雅地处理图片的加载和显示。 2.3 **图片大小调整**:根据ImageView的实际大小裁剪或缩放图片,避免加载过大图片导致内存消耗。 **3. 图片缓存** 3.1...