Пример #1
0
    // 更新指定item的数据
    private void updateView(int index) {
      int visiblePos = listView.getFirstVisiblePosition();
      int offset = index - visiblePos;
      // Log.e("", "index="+index+"visiblePos="+visiblePos+"offset="+offset);
      // 只有在可见区域才更新
      if (offset < 0) return;

      View view = listView.getChildAt(offset);
      final DownloadEntry entry = downloadEntries.get(index);
      ViewHolder holder = (ViewHolder) view.getTag();
      // Log.e("", "id="+app.id+", name="+app.name);
      holder.statusText.setText(entry.toString());
    }
Пример #2
0
 @Override
 public View getView(int position, View convertView, ViewGroup parent) {
   if (convertView == null || convertView.getTag() == null) {
     convertView = LayoutInflater.from(ListActivity.this).inflate(R.layout.listview_item, null);
     holder = new ViewHolder();
     holder.downloadBtn = (Button) convertView.findViewById(R.id.download_btn);
     holder.downloadBtn2 = (Button) convertView.findViewById(R.id.download_btn2);
     holder.statusText = (TextView) convertView.findViewById(R.id.show_txt);
     convertView.setTag(holder);
   } else {
     holder = (ViewHolder) convertView.getTag();
   }
   final DownloadEntry entry = downloadEntries.get(position);
   holder.statusText.setText(entry.toString());
   holder.downloadBtn.setOnClickListener(
       new View.OnClickListener() {
         @Override
         public void onClick(View v) {
           if (entry.getStatus() == DownloadStatusLevel.IDLE.value()) {
             DownloadManager.getInstance(ListActivity.this).add(entry);
           } else if (entry.getStatus() == DownloadStatusLevel.DOWNLOADING.value()
               || entry.getStatus() == DownloadStatusLevel.WAITING.value()) {
             DownloadManager.getInstance(ListActivity.this).pause(entry);
           } else if (entry.getStatus() == DownloadStatusLevel.PAUSE.value()) {
             DownloadManager.getInstance(ListActivity.this).resume(entry);
           } else {
             DownloadManager.getInstance(ListActivity.this).add(entry);
           }
         }
       });
   holder.downloadBtn2.setOnClickListener(
       new View.OnClickListener() {
         @Override
         public void onClick(View v) {
           Intent intent = new Intent();
           intent.setClass(ListActivity.this, DetailsActivity.class);
           Bundle bundle = new Bundle();
           bundle.putSerializable("bean", entry);
           intent.putExtras(bundle);
           startActivity(intent);
         }
       });
   return convertView;
 }