`

android > ListView > 加载 网络/assets图片

 
阅读更多

先设置 好 2 个 布局文件 一个 是 主的login.xml, 一个 是 listView 内部的 login_list.xml

 

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ListView 
		  android:id="@android:id/list"  
		  android:layout_width="fill_parent"  
		  android:layout_height="wrap_content"  
		  android:drawSelectorOnTop="false"  
		  android:scrollbars="vertical"          
        ></ListView>

   
</LinearLayout>

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal" 
    android:padding="8dip"
    >
    <ImageView   
       android:id="@+id/login_list_left"  
       android:layout_width="wrap_content"  
       android:layout_height="wrap_content"  
       android:layout_alignParentLeft="true"  
       >     
   </ImageView>      
   <TextView   
       android:id="@+id/login_list_right"  
       android:layout_width="wrap_content"  
       android:layout_height="wrap_content"  
       android:layout_alignParentRight="true"  
       >     
   </TextView>  

</LinearLayout>

 

 

然后是 MyListAdapter.java

这个里面要设置  listView 内部布局文件 的对象, 和 里面 指针的 对应 

 

package login.mft;

import java.util.List;

import remote.mft.R;
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;
	}


	public View getView(int position, View convertView, ViewGroup parent) {
		LayoutInflater inflater = context.getLayoutInflater();
		View itemView = inflater.inflate(R.layout.login_list, null);	//要设置listVeiw内部布局的layout
		Commentinfo info = list.get(position);
		
		TextView textView = (TextView) itemView.findViewById(R.id.login_list_right);	//要设置	
		ImageView imageView = (ImageView) itemView.findViewById(R.id.login_list_left);	//要设置
		
		textView.setText(info.getSensor_name());	//要设置
		imageView.setImageBitmap(info.getSensor_image());	//要设置
		
		return itemView;
	}

	public int getCount() {
		return list.size();
	}

	
	public Object getItem(int position) {
		return list.get(position);
	}

	
	public long getItemId(int position) {
		return position;
	}

	
}

 

然后是是 Commentinfo.java 类, 他是 listView 内部对象指针的定义 

 

package login.mft;

import android.graphics.Bitmap;

public class Commentinfo {
	
	private Bitmap sensor_image;	//要设置
    private String sensor_name;   //要设置
  
    public Commentinfo(Bitmap sensor_image, String sensor_name  ) {  
        super();  
        this.sensor_image = sensor_image;	//要设置
        this.sensor_name = sensor_name ;	//要设置
        
    }  
    public Bitmap getSensor_image() {
		return sensor_image;	//要设置
	}

	public String getSensor_name() {
		return sensor_name;	//要设置
	}


}
 

然后是主 Activity ,  LoginIndexActivity .java

 

package login.mft;

import gloabal.BitmapUtils;


import java.util.ArrayList;
import java.util.List;
import remote.mft.R;
import android.app.ListActivity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;

public class LoginIndexActivity extends ListActivity {
    /** Called when the activity is first created. */

	private Bitmap bmp;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.login);        
        ////////  
        
        String imagePath = "icon/rdt_right.png";
        
        bmp = BitmapUtils.getLoacalBitmapByAssets(LoginIndexActivity.this, imagePath);                
        ListView listView = getListView();	//加载setCOntentView 里面的 @android:id/list
        MyListAdapter adapter = new MyListAdapter(LoginIndexActivity.this, getData());
        listView.setAdapter(adapter);  
        
        ///////设置 点击事件
        listView.setOnItemClickListener(new OnItemClickListener() {  
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,  
                    long arg3) {  
                // TODO Auto-generated method stub  
                setTitle("点击第"+arg2+"个项目");  
            }  
        });  
   
    }

    
	 private List<Commentinfo> getData(){  
		   ArrayList<Commentinfo> arrayList = new ArrayList<Commentinfo>();  
        for(int i=0;i<10;i++){ 
            arrayList.add(new Commentinfo(bmp, "用户"+i));  
        }  
        return arrayList;  
          
     }  
	 
	 
	 
	 
    

   
}
 

 

 

 

 

分享到:
评论

相关推荐

    Android 使用sqllite 实现listView上拉加载

    Android 使用sqllite 实现listView上拉加载,简单易懂,适合新手学习sqllite以及自定义listview

    android listview仿iphone特效

    标题中的“android listview仿iphone特效”指的是在Android开发中,使用ListView组件实现类似iOS界面效果的一种技术。这种效果通常包括但不限于平滑滚动、动态高度调整、渐变背景等,目的是提升Android应用的用户...

    Android ListView实现ImageLoader图片加载的方法

    Imageloader是一个强大且灵活的图片加载框架,提供了多种图片加载方式,包括从网络、文件系统、项目文件夹assets中和drawable中等。同时,Imageloader也提供了强大的图片缓存机制,包括内存缓存、文件系统缓存和SD卡...

    android复制数据库到SD卡打开加载listview

    &lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&gt; ``` - 在应用启动或需要时,使用以下代码将数据库文件从`assets`复制到SD卡的特定路径: ```java private void ...

    Android SimpleAdapter的多种显示GridView/ListView

    在Android开发中,SimpleAdapter是一种常用的适配器,它用于将数据绑定到视图上,如GridView或ListView。这些组件是Android中展示列表数据的主要方式,适用于创建各种类型的列表应用。下面将详细介绍如何使用...

    Android中使用ListView实现汽泡短信聊天

    `assets`目录可以用来存放非资源文件,如JSON数据或图片。 在实现过程中,可能还需要考虑以下几点: 1. 使用`LayoutInflater`来加载布局文件。 2. 对于气泡形状,可以使用`shape` XML文件定义一个带有圆角的矩形,...

    Android延迟加载综合案例

    ImageView是显示图片的组件,对于网络图片或者大尺寸本地图片,直接加载可能会引起内存问题。延迟加载在ImageView上的实现通常采用“异步加载”(Async Loading)。当ImageView需要显示图片时,不是立即加载,而是在...

    ListView中加上加FootView和自动加载listview条目

    在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据。`ListView`的高效复用机制使得它在处理大量数据时表现出色。然而,仅使用基本的`ListView`功能有时并不能满足所有需求,例如,我们可能希望在...

    网络数据ListView展开与隐藏加强版

    总之,"网络数据ListView展开与隐藏加强版"是一个优化过的Android ListView实现,具备高效的数据加载和良好的用户体验。通过理解上述关键知识点,开发者可以进一步学习和改进自己的Android应用。

    assets下的json数据适配listivew

    总结起来,本示例展示了如何结合使用Android的assets目录、JSON数据解析以及ListView的适配器机制,实现从本地文件加载数据并动态展示在ListView中。这对于开发离线应用或者简化数据加载流程非常有用。理解这一流程...

    Android读取assets目录下的所有图片并显示的方法

    在Android开发中,有时我们需要将应用内部的图片资源加载到界面上展示,这些资源可能存储在assets目录下。assets目录是Android项目中的一个特殊目录,它允许开发者存放非编译的原始数据,如文本文件、图片等。这篇...

    用Android-Universal-Image-Loader开发下载图片

    它支持从网络、SD卡、资源文件、assets目录等多种来源加载图片,并且具有缓存机制,能够有效地减少内存消耗和提高用户体验。 首先,我们需要在项目中集成这个库。这通常通过添加Gradle依赖完成: ```groovy ...

    ListView列表展开和隐藏(适合网络单击多次获取模式)

    标题“ListView列表展开和隐藏(适合网络单击多次获取模式)”涉及到的核心技术点是动态加载和优化ListView的性能,尤其是对于网络数据的处理策略。以下是这些知识点的详细说明: 1. **ListView的数据适配器**:在...

    Android ImageLoader 库源代码

    多线程下载图片,图片可以...较好的控制图片的加载过程,例如暂停图片加载,重新开始加载图片,一般使用在ListView,GridView中,滑动过程中暂停加载图片,停止滑动的时候去加载图片 提供在较慢的网络下对图片进行加载

    使用vitamio做播放器在listview中实现播放

    &lt;uses-feature android:name="android.hardware.touchscreen.multitouch" android:required="false" /&gt; &lt;uses-feature android:name="android.hardware.audio.lowlatency" android:required="false" /&gt; ...

    android图片处理技巧

    在Android开发中,图片处理是一项不可或缺的技术,它涵盖了图片的加载、显示、裁剪、压缩以及各种图像处理操作。以下是对这些关键知识点的详细说明: 1. **图片加载**: Android系统中,图片资源通常存储在assets...

    Android下拉刷新控件(ListView好ScrollView版).zip

    - `\RefreshScroll\RefreshScroll\assets\`:这个目录可能包含了应用的静态资源,如图片、字体等。 - `\RefreshScroll\RefreshScroll\bin\resources.ap_`:这是编译后的资源文件,包含了应用的资源信息。 - `\...

    同步显示有网络图片的List

    标题“同步显示有网络图片的List”涉及到在Android开发中如何实现在ListView或者RecyclerView中加载并显示网络上的图片。这通常需要结合网络请求库(如Volley、OkHttp)和图片加载库(如Picasso、Glide)来完成。...

    安卓Android源码——douBanList(滚动到底部加载新的,软缓存,懒加载).7z

    这个压缩包文件"安卓Android源码——douBanList(滚动到底部加载新的,软缓存,懒加载).7z"显然包含了开发一个特定安卓应用的源代码,特别是涉及到豆瓣(douban)列表的展示,具备下拉刷新和上拉加载更多功能,以及...

    android超炫的图片浏览器.zip

    1. **图片加载优化**:由于Android设备内存有限,加载大图可能会导致内存溢出。因此,开发者通常会使用像Picasso、Glide或Universal Image Loader等库进行图片缓存和异步加载,避免一次性加载所有图片。 2. **滑动...

Global site tag (gtag.js) - Google Analytics