当页面是有一个列表时,表中展示的是富文本,其中需要展示图片,但是使用中发现图片会随着列表加载出现重复请求现象。
//列表加载数据部分代码
TeacherRecommendPaperDetailAddEqAdapter teacherRecommendPaperDetailAdapter = new TeacherRecommendPaperDetailAddEqAdapter(getContext(), alllist,fManager,treeSet);
listView.setAdapter(teacherRecommendPaperDetailAdapter);
//Adapter加载数据部分代码
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = new ViewHolder(mContext, parent, R.layout.item_list_ai_error_question_collect_add_eq, position);
//LogUtils.e("=1=","mDatas:" + mDatas);
//LogUtils.e("=1=","position:" + position);
//holder.setText(R.id.itemNo, "错题" + (position + 1));
//holder.setText(R.id.questionStem, Html.fromHtml(mDatas.get(position).getQuestionStem()));
imgGetter = new NetworkImageGetter2(context);
//LogUtils.e("=1=","questiontemConvert:" + mDatas.get(position).getQuestionStemConvert());
holder.setText(R.id.questionStem,Html.fromHtml(mDatas.get(position).getQuestionStemConvert(),Html.FROM_HTML_MODE_COMPACT,imgGetter,null));
//添加或删除按钮
View addOrDelete = holder.getView(R.id.addOrDelete);
addOrDelete.setOnClickListener(new TeacherRecommendPaperDetailAddEqAdapter.myOnClickListener(holder,mDatas.get(position),"0001"));
return holder.getConvertView();
}
//ImageGetter实现类
public class NetworkImageGetter2 implements Html.ImageGetter{
private Context mContext;
public NetworkImageGetter2(Context context){
mContext = context;
}
@Override
public Drawable getDrawable(String source) {
Drawable drawable = null;
try {
URL url;
url = new URL(source);
//drawable = Drawable.createFromStream(url.openStream(), ""); // 获取网路图片
LogUtils.e("=source=",source);
drawable = Drawable.createFromResourceStream(mContext.getResources(), null, url.openStream(), "src", null);
int with = Math.round(drawable.getIntrinsicWidth()*0.6f);
int higth = Math.round(drawable.getIntrinsicHeight()*0.6f);
//LogUtils.e("==","higth:" + higth+"--with:"+with);
drawable.setBounds(0, 0, with,higth);
} catch (Exception e) {
e.printStackTrace();
return null;
}
return drawable;
}
}
请求数据: