首页 文章 精选 留言 我的

精选列表

搜索[listview],共1040篇文章
优秀的个人博客,低调大师

Android LruCache in ListView

package zhangphil.cache; import android.app.ListActivity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.os.Bundle; import android.util.Log; import android.util.LruCache; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ImageView; public class MainActivity extends ListActivity { private LruCache<String, Bitmap> mLruCache; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); int CACHE_SIZE = 8 * 1024 * 1024; mLruCache = new LruCache(CACHE_SIZE); ArrayAdapter mAdapter = new ArrayAdapter(this, 0) { @NonNull @Override public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) { ImageView image = new ImageView(getContext()); load(R.mipmap.ic_launcher, image); return image; } @Override public int getCount() { return 20; } }; setListAdapter(mAdapter); } private void load(int id, ImageView image) { Bitmap bmp = mLruCache.get(String.valueOf(id)); if (bmp == null) { Log.d("LruCache缓存", "没有缓存,开始创建新数据资源并缓存之。"); bmp = BitmapFactory.decodeResource(getResources(), id); mLruCache.put(String.valueOf(id), bmp); } else { Log.d("LruCache缓存", "已有缓存,复用。"); image.setImageBitmap(bmp); } } }

优秀的个人博客,低调大师

listView 多个item布局

package kds.szkingdom.wo.android.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.LinearLayout; import android.widget.RelativeLayout; import android.widget.TextView; import com.szkingdom.common.android.base.Res; import com.szkingdom.commons.lang.StringUtils; import com.szkingdom.modeWO.android.phone.R; import com.trevorpage.tpsvg.SVGView; import com.trevorpage.tpsvg.SvgRes1; public class IACTChatAdapter extends BaseAdapter { private Context context; private List<IACTMsgBean> msgList; public IACTChatAdapter(Context c, List<IACTMsgBean> msgList) { this.context = c; this.msgList = msgList; } @Override public int getCount() { return msgList.size(); } @Override public Object getItem(int position) { return msgList.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int pos, View view, ViewGroup parent) { Holder holder = null; if (view == null) { holder = new Holder(); LayoutInflater inflater = LayoutInflater.from(context); view = (View) inflater.inflate(R.layout.iact_chat_msg_item, null); holder.rl_item = (RelativeLayout) view .findViewById(R.id.iact_chat_msg_item); holder.rl_left = (RelativeLayout) view .findViewById(R.id.rl_iact_chat_msg_left); holder.rl_right = (RelativeLayout) view .findViewById(R.id.rl_iact_chat_msg_right); holder.tv_left = (TextView) view.findViewById(R.id.tv_user_left); holder.tv_right = (TextView) view.findViewById(R.id.tv_user_right); holder.iv_left = (Button) view .findViewById(R.id.iv_iact_user_left); holder.iv_right = (SVGView) view .findViewById(R.id.iv_iact_user_right); holder.tv_time_left = (TextView) view .findViewById(R.id.tv_iact_chat_msg_time_left); holder.tv_time_right = (TextView) view .findViewById(R.id.tv_iact_chat_msg_time_right); holder.ll_left = (LinearLayout) view.findViewById(R.id.ll_left); holder.ll_right = (LinearLayout) view.findViewById(R.id.ll_right); view.setTag(holder); } else { holder = (Holder) view.getTag(); holder.rl_right.setVisibility(View.GONE); holder.rl_left.setVisibility(View.GONE); } IACTMsgBean bean = msgList.get(pos); if(!StringUtils.isEmpty(bean.getFeedbackContent())){ //客户端消息 holder.rl_right.setVisibility(View.VISIBLE); holder.iv_right.setSVGRenderer( SvgRes1.getSVGParserRenderer(context, R.drawable.kds_wo_svg_sender), null); holder.tv_right.setText(bean.getFeedbackContent()); holder.tv_time_right.setText(bean.getFeedbackTime()); holder.ll_right.setBackgroundDrawable(Res.getDrawable(R.drawable.kds_wo_png_backgroud_blue)); } if(!StringUtils.isEmpty(bean.getReplyContent())){ //服务器端消息 holder.rl_left.setVisibility(View.VISIBLE); holder.iv_left.setBackgroundResource(R.drawable.kds_gphone_original); holder.tv_left.setText(bean.getReplyContent()); holder.tv_time_left.setText(bean.getReplyTime()); holder.ll_left.setBackgroundDrawable( Res.getDrawable(R.drawable.kds_wo_png_background_white)); } return view; } private class Holder { RelativeLayout rl_item; RelativeLayout rl_left; RelativeLayout rl_right; TextView tv_time_left; TextView tv_time_right; TextView tv_left; TextView tv_right; Button iv_left; SVGView iv_right; LinearLayout ll_left; LinearLayout ll_right; } } 本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/5462220.html,如需转载请自行联系原作者

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册