コード例 #1
0
 private void setData(Map<String, Object> map) {
   if (map == null) {
     return;
   }
   String[] a; // 分隔整个url
   String[] b; // 分隔标题和文件类型
   String url = StringUtil.Object2String(map.get("URL"));
   if (!StringUtil.isBlank(url)) {
     a = url.split("/");
     url = a[a.length - 1];
   } else {
     return;
   }
   b = url.replace(".", "!").split("!");
   textTitle.setText(StringUtil.Object2String(url));
   if ("".equals(StringUtil.Object2String(map.get("Size")))) {
     textSize.setText("0B");
   } else {
     textSize.setText(
         FileUtils.FormetFileSize(Long.parseLong(StringUtil.Object2String(map.get("Size")))));
   }
   if ("".equals(StringUtil.Object2String(b)) || b.length == 0) {
     leftIcon.setText("");
   } else {
     leftIcon.setText(StringUtil.Object2String(b[b.length - 1]));
   }
 }
コード例 #2
0
  @Override
  public View getView(final int position, View convertView, ViewGroup parent) {
    final Map<String, Object> map = list.get(position);
    // 先确保view存在
    if (convertView == null) {
      convertView = inflater.inflate(R.layout.activity_learningmaterials_item_attach, null);
    }

    // 获得holder

    Object tag = convertView.getTag();
    final AttachListHolder holder;
    if (tag == null) {
      holder = new AttachListHolder(convertView);
    } else {
      holder = (AttachListHolder) tag;
    }
    holder.setData(map);
    // 设置tag
    convertView.setTag(holder);

    if (!"".equals(StringUtil.Object2String(map.get("URL")))) {
      final String serverUrl =
          CommandConstants.URL_ROOT + StringUtil.Object2String(map.get("URL")).replace(" ", "_");
      final String localUrl = CacheSupport.staticServerUrlConvertToCachePath(serverUrl);
      if (FileUtils.isExisitFile(localUrl)) {
        // 存在,已经下载
        holder.rightBtn.setText(DOWN_OK_SEE);
      }

      holder.rightBtn.setOnClickListener(
          new OnClickListener() {

            @Override
            public void onClick(final View v) {
              if (((Button) v).getText().equals(DOWN_ON)) { // 点击下载开始下载
                holder.progressBar.setVisibility(View.VISIBLE);
                holder.rightBtn.setText(DOWN_ING);
                new Thread() {
                  public void run() {
                    if (downloadFile(serverUrl, localUrl, mHandler, holder)) {
                      Message msg = new Message();
                      msg.what = 1;
                      msg.obj = holder;
                      Bundle bundle = new Bundle();
                      bundle.putString("localUrl", localUrl);
                      msg.setData(bundle);
                      mHandler.sendMessage(msg);
                    } else {

                      Message msg = new Message();
                      msg.what = 2;
                      msg.obj = holder;
                      Bundle bundle = new Bundle();
                      bundle.putString("localUrl", localUrl);
                      msg.setData(bundle);
                      mHandler.sendMessage(msg);
                    }
                  };
                }.start();
              } else if (((Button) v).getText().equals(DOWN_OK_SEE)) { // 点击查看附件
                // TODO
                File file = new File(localUrl);
                if (file != null && file.exists()) {
                  new CallOtherOpeanFile().openFile(context, file);
                } else {
                  Toast.makeText(context, "没有找到查看的文件!", Toast.LENGTH_SHORT).show();
                }
              }
            }
          });
    } else {
      holder.rightBtn.setOnClickListener(
          new OnClickListener() {

            @Override
            public void onClick(final View v) {
              Toast.makeText(context, "附件路径不正确!", Toast.LENGTH_SHORT).show();
            }
          });
    }

    return convertView;
  }