菜鸟提问问题

lovetaosha 2015-01-22 10:47:36

报的异常如下:

The specified child already has a parent. You must call removeView() on the child's parent first.

代码如下:


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;
}
...全文
80 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
windfury_plus 2015-01-22
  • 打赏
  • 举报
回复
看错误应该是报错的view,本身已经在一个布局里(很可能某个xml里)了,在代码又被添加到另外一个布局。

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧