Android开发之ListView实现Item局部刷新

2019-12-10 19:58:37王冬梅

这个函数主要是根据传入的itemIndex来获取第itemIndex的数据所显示的view。itemIndex就是要修改的数据再List集合中的位置,比如我这里下载进度有更新,发了一个广播这里接收到了,需要修改该下载内容的进度条,广播接收器可以这么写:

 

 
  1. @Override  public void onReceive(Context context, Intent intent) { 
  2. AppContent appContent = intent.getParcelableExtra("appContent");  if(appContent == null) return; 
  3. int itemIndex = ;  for(AppContent appContent : mList) { 
  4. if(appContent.getUrl().equals(appContent.getUrl())) {  itemIndex = mList.indexOf(appContent); 
  5. appContent.setDownloadPercent(appContent.getDownloadPercent());  break; 
  6. }  } 
  7. updateView(itemIndex);  } 

下面看Adapter的具体代码:

 

 
  1. public class AppContentAdapter extends BaseAdapter{  private List<AppContent> mDates = null; 
  2. private Context mContext;  public AppContentAdapter(Context context) { 
  3. this.mContext = context;  } 
  4. @Override  public int getCount() { 
  5. return mDates.size();  } 
  6. @Override  public Object getItem(int position) { 
  7. return mDates.get(position);  } 
  8. @Override  public long getItemId(int position) { 
  9. return position;  }