80,349
社区成员
发帖
与我相关
我的任务
分享
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//缓存目录
cache=new File(Environment.getExternalStorageDirectory(),"cache");
if(!cache.exists()){
cache.mkdirs();
}
//上页传下来的查询内容
Intent intent = new Intent();
intent = getIntent();
result = intent.getStringExtra("result");
listView = (ListView)findViewById(R.id.listView);
listView.setAdapter(new BookInfoAdapter(QueryResultActivity.this,getData(),R.layout.view_list_item,cache));
setContentView(listView);
}
public class BookInfoAdapter extends BaseAdapter {
private List<Map<String, Object>> data;
private int viewListItem;
private File cache;
LayoutInflater layoutInflater;
public BookInfoAdapter(Context context, List<Map<String, Object>> data,
int viewListItem, File cache) {
this.data = data;
this.viewListItem = viewListItem;
this.cache = cache;
// 布局
layoutInflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
/**
* 得到数据的总数
*
*/
@Override
public int getCount() {
return data.size();
}
/**
* 根据数据的索引得到集合中的对应的数据
*
*/
@Override
public Object getItem(int arg0) {
return data.get(arg0);
}
@Override
public long getItemId(int position) {
return position;
}
/**
* position 显示条目对应集合的索引值 convertView 对第一屏进行缓存
*/
@Override
public View getView(int position, View convertView, ViewGroup parent){
ImageView imageView = null;
TextView title_textView = null;
TextView price_textView = null;
TextView saleprice_textView = null;
// 第一屏的时候没有缓存
if (convertView == null) {
// resource viewListItem条目ID,即把条赋值给对象
convertView = layoutInflater.inflate(viewListItem, null);
// 创建条目时,先把各控件找到,否则每次去找耗性能
imageView = (ImageView) convertView.findViewById(R.id.imageView);
title_textView = (TextView) convertView.findViewById(R.id.title);
price_textView = (TextView) convertView.findViewById(R.id.price);
saleprice_textView = (TextView) convertView
.findViewById(R.id.saleprice);
convertView.setTag(new DataWrapper(imageView, title_textView,
price_textView, saleprice_textView));
} else {
DataWrapper dataWrapper = (DataWrapper) convertView.getTag();
imageView = dataWrapper.imageView;
title_textView = dataWrapper.title_textView;
price_textView = dataWrapper.price_textView;
saleprice_textView = dataWrapper.saleprice_textView;
}
title_textView.setText(data.get(position).get("title").toString());
price_textView.setText(data.get(position).get("price").toString());
saleprice_textView.setText(data.get(position).get("saleprice")
.toString());
try {
asyncImageLoad(imageView, data.get(position).get("imgurl").toString());
} catch (Exception e) {
e.printStackTrace();
}
return convertView;
}