我有ListView
,显示Drawable
s
这是我的代码:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
convertView = inflater.inflate(
R.layout.main_advertisement_list_view_item, null);
holder.icon = (ImageView) convertView
.findViewById(R.id.imageView1);
holder.name = (TextView) convertView
.findViewById(R.id.textView1);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
Log.d("view", holder.name+"");
Log.d("string",getItem(position)+"");
holder.name.setText(getItem(position).name);
holder.icon.setImageResource(
categories_icons.getResourceId(position, -1));
return convertView;
}
如何延迟加载Drawables
?我看过示例和示例,但对于本地drawables,我怎样才能实现这一点,因为我的代码使列表视图移动缓慢?
答案 0 :(得分:0)
public void setImageResource(int resId)
自:API Level 1
将drawable设置为此ImageView的内容。
这会在UI线程上进行位图读取和解码,会导致延迟打嗝。如果这是一个问题,请考虑使用setImageDrawable
Drawable icon = _context.getResources().getDrawable(R.drawable.icon_1);
holder.icon.setImageDrawable(icon);