app第一阶段冲刺第八天
作者:@kuaiquxie
作者的github:https://github.com/bitebita
本文为作者原创,如需转载,请注明出处:https://www.cnblogs.com/dzwj/p/16188325.html
今天为我的个人主页写了adapter,具体有以下几个文件
package com.linlang.grasharepro.adapter; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.Toast; import com.linlang.grasharepro.R; import com.linlang.grasharepro.activity.ADBanner.BaseWebActivity; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoaderConfiguration; import java.util.List; public class ImagePagerAdapter extends BaseAdapter { private Context context; private List<String> imageIdList; private List<String> linkUrlArray; private List<String> urlTitlesList; private int size; private boolean isInfiniteLoop; private ImageLoader imageLoader; private DisplayImageOptions options; public ImagePagerAdapter(Context context, List<String> imageIdList, List<String> urllist, List<String> urlTitlesList) { this.context = context; this.imageIdList = imageIdList; if (imageIdList != null) { this.size = imageIdList.size(); } this.linkUrlArray = urllist; this.urlTitlesList = urlTitlesList; isInfiniteLoop = false; // 初始化imageLoader 否则会报错 imageLoader = ImageLoader.getInstance(); imageLoader.init(ImageLoaderConfiguration.createDefault(context)); options = new DisplayImageOptions.Builder() .showStubImage(R.drawable.ic_launcher) // 设置图片下载期间显示的图片 .showImageForEmptyUri(R.drawable.meinv) // 设置图片Uri为空或是错误的时候显示的图片 .showImageOnFail(R.drawable.meinv) // 设置图片加载或解码过程中发生错误显示的图片 .cacheInMemory(true) // 设置下载的图片是否缓存在内存中 .cacheOnDisc(true) // 设置下载的图片是否缓存在SD卡中 .build(); } @Override public int getCount() { // Infinite loop return isInfiniteLoop ? Integer.MAX_VALUE : imageIdList.size(); } /** * get really position * * @param position * @return */ private int getPosition(int position) { return isInfiniteLoop ? position % size : position; } @Override public View getView(final int position, View view, ViewGroup container) { final ViewHolder holder; if (view == null) { holder = new ViewHolder(); view = holder.imageView = new ImageView(context); holder.imageView .setLayoutParams(new ViewGroup.LayoutParams(-1, -1)); holder.imageView.setScaleType(ImageView.ScaleType.FIT_XY); view.setTag(holder); } else { holder = (ViewHolder) view.getTag(); } // imageLoader.displayImage( // (String) this.imageIdList.get(getPosition(position)), // holder.imageView, options); holder.imageView.setImageResource(Integer.parseInt(this.imageIdList.get(getPosition(position)))); holder.imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { String url = linkUrlArray.get(ImagePagerAdapter.this .getPosition(position)); String title = urlTitlesList.get(ImagePagerAdapter.this .getPosition(position)); /* * if (TextUtils.isEmpty(url)) { * holder.imageView.setEnabled(false); return; } */ Bundle bundle = new Bundle(); bundle.putString("url", url); bundle.putString("title", title); Intent intent = new Intent(context, BaseWebActivity.class); intent.putExtras(bundle); context.startActivity(intent); Toast.makeText(context, title, Toast.LENGTH_LONG).show(); } }); return view; } private static class ViewHolder { ImageView imageView; } /** * @return the isInfiniteLoop */ public boolean isInfiniteLoop() { return isInfiniteLoop; } /** * @param isInfiniteLoop * the isInfiniteLoop to set */ public ImagePagerAdapter setInfiniteLoop(boolean isInfiniteLoop) { this.isInfiniteLoop = isInfiniteLoop; return this; } @Override public Object getItem(int arg0) { // TODO Auto-generated method stub return arg0; } @Override public long getItemId(int arg0) { // TODO Auto-generated method stub return arg0; } }
package com.linlang.grasharepro.adapter; import android.content.Context; import android.graphics.Color; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageView; import com.linlang.grasharepro.R; import com.linlang.grasharepro.utils.ViewHolder; import java.util.LinkedList; import java.util.List; public class MyAdapter extends CommonAdapter<String> { /** * 用户选择的图片,存储为图片的完整路径 */ public static List<String> mSelectedImage = new LinkedList<String>(); /** * 文件夹路径 */ private String mDirPath; public MyAdapter(Context context, List<String> mDatas, int itemLayoutId, String dirPath) { super(context, mDatas, itemLayoutId); this.mDirPath = dirPath; } @Override public void convert(final ViewHolder helper, final String item) { //设置no_pic helper.setImageResource(R.id.id_item_image, R.drawable.pictures_no); //设置no_selected helper.setImageResource(R.id.id_item_select, R.drawable.picture_unselected); //设置图片 helper.setImageByUrl(R.id.id_item_image, mDirPath + "/" + item); final ImageView mImageView = helper.getView(R.id.id_item_image); final ImageView mSelect = helper.getView(R.id.id_item_select); mImageView.setColorFilter(null); //设置ImageView的点击事件 mImageView.setOnClickListener(new OnClickListener() { //选择,则将图片变暗,反之则反之 @Override public void onClick(View v) { // 已经选择过该图片 if (mSelectedImage.contains(mDirPath + "/" + item)) { mSelectedImage.remove(mDirPath + "/" + item); mSelect.setImageResource(R.drawable.picture_unselected); mImageView.setColorFilter(null); } else // 未选择该图片 { mSelectedImage.add(mDirPath + "/" + item); mSelect.setImageResource(R.drawable.pictures_selected); mImageView.setColorFilter(Color.parseColor("#77000000")); } } }); /** * 已经选择过的图片,显示出选择过的效果 */ if (mSelectedImage.contains(mDirPath + "/" + item)) { mSelect.setImageResource(R.drawable.pictures_selected); mImageView.setColorFilter(Color.parseColor("#77000000")); } } }
package com.linlang.grasharepro.adapter; import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; import android.content.SharedPreferences; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import com.linlang.grasharepro.R; import com.linlang.grasharepro.dao.CollectionDB; import com.linlang.grasharepro.dao.NewMessageDB; import com.linlang.grasharepro.model.CollectionDomain; import com.linlang.grasharepro.model.NewMessageDomain; import com.linlang.grasharepro.model.ShareCoenten; import com.linlang.grasharepro.model.ShareMessage; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; public class MyCollectAdapter extends BaseAdapter { private CollectionDB collectionDB; /** * 信息列表 */ private List<ShareCoenten> list; public List<ShareCoenten> getList() { return list; } public void setList(List<ShareCoenten> list) { this.list = list; } public Context getCtx() { return ctx; } public void setCtx(Context ctx) { this.ctx = ctx; } private Context ctx; public MyCollectAdapter(List<ShareCoenten> list, Context ctx) { this.list = list; this.ctx = ctx; // 实例化获取图片的类 } @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; } @Override public View getView(final int position, View convertView, ViewGroup parent) { final Holder hold; if (convertView == null) { hold = new Holder(); convertView = View.inflate(ctx, R.layout.item_collect, null); hold.tv_content = (TextView) convertView.findViewById(R.id.tv_content);//内容 hold.tv_title = (TextView) convertView.findViewById(R.id.tv_title);//标题 hold.tv_time = (TextView) convertView.findViewById(R.id.tv_time);//发布时间 hold.iv_delete = (ImageView) convertView.findViewById(R.id.iv_delete);// convertView.setTag(hold); } else { hold = (Holder) convertView.getTag(); } if (list != null && list.size() > 0) { final ShareCoenten smd = list.get(position); hold.tv_content.setText(smd.getContent()); hold.tv_title.setText(smd.getTitle()); hold.tv_time.setText(smd.getTime()); // //点击删除按钮删除自己收藏的内容 // hold.iv_delete.setOnClickListener(new View.OnClickListener() { // @Override // public void onClick(View v) { // //获取用户登陆信息 // SharedPreferences preferences = ctx.getSharedPreferences("userInfo", // Activity.MODE_PRIVATE); // String account = preferences.getString("account", ""); // collectionDB = new CollectionDB(ctx); // collectionDB.open(); // collectionDB.deleteByRelationId(smd.get_id(), account); // } // }); } return convertView; } static class Holder { TextView tv_title, tv_content, tv_time; ImageView iv_delete; } }
package com.linlang.grasharepro.adapter; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; import com.linlang.grasharepro.R; import com.linlang.grasharepro.dao.CollectionDB; import com.linlang.grasharepro.model.ShareCoenten; import com.linlang.grasharepro.model.User; import java.util.List; /** * 商家WIFI适配器 */ public class MyFansAdapter extends BaseAdapter { /** * 商家信息列表 */ private List<User> list; public List<User> getList() { return list; } public void setList(List<User> list) { this.list = list; } public Context getCtx() { return ctx; } public void setCtx(Context ctx) { this.ctx = ctx; } private Context ctx; public MyFansAdapter(List<User> list, Context ctx) { this.list = list; this.ctx = ctx; // 实例化获取图片的类 } @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; } @Override public View getView(final int position, View convertView, ViewGroup parent) { final Holder hold; if (convertView == null) { hold = new Holder(); convertView = View.inflate(ctx, R.layout.item_fans, null); hold.tv_userName = (TextView) convertView.findViewById(R.id.tv_userName);//用户名 hold.tv_introduction = (TextView) convertView.findViewById(R.id.tv_introduction);//简介 convertView.setTag(hold); } else { hold = (Holder) convertView.getTag(); } if (list != null && list.size() > 0) { final User user = list.get(position); hold.tv_userName.setText(user.getLoginName()); hold.tv_introduction.setText(user.getIntroduction()); // //点击删除按钮删除自己收藏的内容 // hold.iv_delete.setOnClickListener(new View.OnClickListener() { // @Override // public void onClick(View v) { // //获取用户登陆信息 // SharedPreferences preferences = ctx.getSharedPreferences("userInfo", // Activity.MODE_PRIVATE); // String account = preferences.getString("account", ""); // collectionDB = new CollectionDB(ctx); // collectionDB.open(); // collectionDB.deleteByRelationId(smd.get_id(), account); // } // }); } return convertView; } static class Holder { TextView tv_userName, tv_introduction, tv_time; ImageView iv_delete; } }
package com.linlang.grasharepro.adapter; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; import com.linlang.grasharepro.R; import com.linlang.grasharepro.model.User; import java.util.List; /** * 商家WIFI适配器 */ public class MyFollowAdapter extends BaseAdapter { /** * 商家信息列表 */ private List<User> list; public List<User> getList() { return list; } public void setList(List<User> list) { this.list = list; } public Context getCtx() { return ctx; } public void setCtx(Context ctx) { this.ctx = ctx; } private Context ctx; public MyFollowAdapter(List<User> list, Context ctx) { this.list = list; this.ctx = ctx; // 实例化获取图片的类 } @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; } @Override public View getView(final int position, View convertView, ViewGroup parent) { final Holder hold; if (convertView == null) { hold = new Holder(); convertView = View.inflate(ctx, R.layout.item_follow, null); hold.tv_userName = (TextView) convertView.findViewById(R.id.tv_userName);//用户名 hold.tv_introduction = (TextView) convertView.findViewById(R.id.tv_introduction);//简介 convertView.setTag(hold); } else { hold = (Holder) convertView.getTag(); } if (list != null && list.size() > 0) { final User user = list.get(position); hold.tv_userName.setText(user.getLoginName()); hold.tv_introduction.setText(user.getIntroduction()); // //点击删除按钮删除自己收藏的内容 // hold.iv_delete.setOnClickListener(new View.OnClickListener() { // @Override // public void onClick(View v) { // //获取用户登陆信息 // SharedPreferences preferences = ctx.getSharedPreferences("userInfo", // Activity.MODE_PRIVATE); // String account = preferences.getString("account", ""); // collectionDB = new CollectionDB(ctx); // collectionDB.open(); // collectionDB.deleteByRelationId(smd.get_id(), account); // } // }); } return convertView; } static class Holder { TextView tv_userName, tv_introduction; } }
package com.linlang.grasharepro.adapter; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; import com.linlang.grasharepro.R; import com.linlang.grasharepro.dao.CollectionDB; import com.linlang.grasharepro.model.ShareCoenten; import java.util.List; /** * 商家WIFI适配器 */ public class MyShareAdapter extends BaseAdapter { private CollectionDB collectionDB; /** * 商家信息列表 */ private List<ShareCoenten> list; public List<ShareCoenten> getList() { return list; } public void setList(List<ShareCoenten> list) { this.list = list; } public Context getCtx() { return ctx; } public void setCtx(Context ctx) { this.ctx = ctx; } private Context ctx; public MyShareAdapter(List<ShareCoenten> list, Context ctx) { this.list = list; this.ctx = ctx; // 实例化获取图片的类 } @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; } @Override public View getView(final int position, View convertView, ViewGroup parent) { final Holder hold; if (convertView == null) { hold = new Holder(); convertView = View.inflate(ctx, R.layout.item_sharecontent, null); hold.tv_content = (TextView) convertView.findViewById(R.id.tv_content);//内容 hold.tv_title = (TextView) convertView.findViewById(R.id.tv_title);//标题 hold.tv_time = (TextView) convertView.findViewById(R.id.tv_time);//发布时间 hold.iv_delete = (ImageView) convertView.findViewById(R.id.iv_delete);// convertView.setTag(hold); } else { hold = (Holder) convertView.getTag(); } if (list != null && list.size() > 0) { final ShareCoenten smd = list.get(position); hold.tv_content.setText(smd.getContent()); hold.tv_title.setText(smd.getTitle()); hold.tv_time.setText(smd.getTime()); // //点击删除按钮删除自己收藏的内容 // hold.iv_delete.setOnClickListener(new View.OnClickListener() { // @Override // public void onClick(View v) { // //获取用户登陆信息 // SharedPreferences preferences = ctx.getSharedPreferences("userInfo", // Activity.MODE_PRIVATE); // String account = preferences.getString("account", ""); // collectionDB = new CollectionDB(ctx); // collectionDB.open(); // collectionDB.deleteByRelationId(smd.get_id(), account); // } // }); } return convertView; } static class Holder { TextView tv_title, tv_content, tv_time; ImageView iv_delete; } }
明天继续写个人主页的数据库相关的文件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!