ListviewAdapterSharedPreferencesAsyncTask

这几天因为要用到Listview以及加载图片,从网上查了下资料,写了个demo,但是从网络下载的图片没有缓存到本地,有待修正

下面贴上代码,供大家学习

IMageTaskUtil.java多任务处理图片的加载

package com.loulijun.utils;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.AsyncTask;import android.widget.ImageView;public class ImageTaskUtil extends AsyncTask<String, Void, Bitmap> {private ImageView iv;public ImageTaskUtil(ImageView iv) {this.iv = iv;}@Overrideprotected Bitmap doInBackground(String… params) {// TODO Auto-generated method stubString imgUrl = params[0];try {URL url = new URL(imgUrl);HttpURLConnection conn = (HttpURLConnection) url.openConnection();InputStream in = conn.getInputStream();Bitmap bitmap = BitmapFactory.decodeStream(in);if (bitmap != null) {return bitmap;}} catch (Exception e) {// TODO: handle exception}return null;}@Overrideprotected void onPostExecute(Bitmap result) {// TODO Auto-generated method stubsuper.onPostExecute(result);if (result != null) {iv.setImageBitmap(result);}}@Overrideprotected void onPreExecute() {// TODO Auto-generated method stubsuper.onPreExecute();}}

commonebean.java Listview中单个item的model

package com.loulijun.bean;public class CommondBean implements java.lang.Comparable {private String UserImg;private String UserName;private String UserDetail;private String Good;private String Poor;private String Hot;private String Share;public CommondBean(String userImg, String userName, String userDetail,String good, String poor, String hot, String share) {UserImg = userImg;UserName = userName;UserDetail = userDetail;Good = good;Poor = poor;Hot = hot;Share = share;}public String getUserImg() {return UserImg;}public void setUserImg(String userImg) {UserImg = userImg;}public String getUserName() {return UserName;}public void setUserName(String userName) {UserName = userName;}public String getUserDetail() {return UserDetail;}public void setUserDetail(String userDetail) {UserDetail = userDetail;}public String getGood() {return Good;}public void setGood(String good) {Good = good;}public String getPoor() {return Poor;}public void setPoor(String poor) {Poor = poor;}public String getHot() {return Hot;}public void setHot(String hot) {Hot = hot;}public String getShare() {return Share;}public void setShare(String share) {Share = share;}@Overridepublic int compareTo(Object another) {// TODO Auto-generated method stubreturn 0;}}

MyAdapter.java 自定义Adapter容器

package com.loulijun.adapter;import java.util.List;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.Button;import android.widget.ImageView;import android.widget.TextView;import android.widget.Toast;import com.loulijun.bean.CommondBean;import com.loulijun.logindemo.R;import com.loulijun.utils.ImageTaskUtil;public class MyAdapter extends BaseAdapter {private Context context;private List<CommondBean> commondBeans;public MyAdapter(Context context, List<CommondBean> commondBeans) {this.context = context;this.commondBeans = commondBeans;}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn commondBeans.size();}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn commondBeans.get(position);}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// TODO Auto-generated method stubView view = convertView;ViewHolder holder = null;if (view == null) {view = LayoutInflater.from(context).inflate(R.layout.item_listview_commond, null);holder = new ViewHolder();view.setTag(holder);holder.user_img = (ImageView) view.findViewById(R.id.userimg);holder.user_detail = (TextView) view.findViewById(R.id.detail);holder.user_name = (TextView) view.findViewById(R.id.name);holder.user_good = (Button) view.findViewById(R.id.good);holder.user_good.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubToast.makeText(context, "32个赞!", Toast.LENGTH_SHORT).show();}});holder.user_poor = (Button) view.findViewById(R.id.poor);holder.user_poor.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubToast.makeText(context, "贬低一个!", Toast.LENGTH_SHORT).show();}});holder.user_hot = (Button) view.findViewById(R.id.hot);holder.user_hot.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubToast.makeText(context, "更加火爆!", Toast.LENGTH_SHORT).show();}});holder.user_share = (Button) view.findViewById(R.id.share);holder.user_share.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubToast.makeText(context, "分享成功!", Toast.LENGTH_SHORT).show();}});holder.good = (TextView) view.findViewById(R.id.goodtext);holder.poor = (TextView) view.findViewById(R.id.poortext);holder.hot = (TextView) view.findViewById(R.id.hottext);holder.share = (TextView) view.findViewById(R.id.sharetext);} else {holder = (ViewHolder) convertView.getTag();}ImageTaskUtil imageTask = new ImageTaskUtil(holder.user_img);imageTask.execute(commondBeans.get(position).getUserImg());holder.user_detail.setText(commondBeans.get(position).getUserDetail());holder.user_name.setText(commondBeans.get(position).getUserName());holder.good.setText(commondBeans.get(position).getGood());holder.poor.setText(commondBeans.get(position).getPoor());holder.hot.setText(commondBeans.get(position).getHot());holder.share.setText(commondBeans.get(position).getShare());return view;}static class ViewHolder {ImageView user_img;TextView user_name;TextView user_detail;TextView good;TextView poor;TextView hot;TextView share;Button user_good;Button user_poor;Button user_hot;Button user_share;}}

MainActivity.java 主activity

接着我们去了遇龙河,那里的水清澈见底,我把脚伸进水里,

ListviewAdapterSharedPreferencesAsyncTask

相关文章:

你感兴趣的文章:

标签云: