我有一个基类适配器,作为类助手来设置自定义列表视图。现在一切正常,除非我尝试设置另一个基础适配器,那么在设置它之前,listview失去了它所关注的项目的焦点。我不知道是否有一种方法可以帮助我找回同一项目的同一焦点。非常感谢你提前。如何在Android中检索listview焦点?
这是我的基本适配器类:
class CustomAdapterWithImages extends BaseAdapter {
LayoutInflater mInflater;
public CustomAdapterWithImages(){
mInflater = (LayoutInflater) Home.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount(){
// TODO Auto-generated method stub
return ids_list.size();//listview item count.
}
@Override
public Object getItem(int position){
// TODO Auto-generated method stub
return position;
}
@Override
public long getItemId(int position){
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent){
// TODO Auto-generated method stub
ViewHolder vh;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.layout_row, null);
vh = new ViewHolder();
convertView.setTag(vh);
}else{
vh = (ViewHolder) convertView.getTag();
}
TextView book = (TextView) convertView.findViewById(R.id.listViewBookName);
TextView writer = (TextView) convertView.findViewById(R.id.listViewWriterName);
ImageView image = (ImageView) convertView.findViewById(R.id.listViewImage);
try{
book.setText(names_list.get(position));
writer.setText(writers_list.get(position));
image.setImageBitmap(thumbnails_list.get(position));
}catch(IndexOutOfBoundsException e){
e.printStackTrace();
}
return convertView;
}
class ViewHolder{
TextView book, writer;
ImageView image;
}
}
通过调用基适配器类来设置我的列表视图,如下图所示:
listview.setAdapter(new CustomAdapterWithImages());
没错。我想在图片下载后更新我的适配器。但我不知道该怎么做。你能否详细解释一下更新适配器数据?谢谢你,先生。 –