Ejemplo n.º 1
0
  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub

    TextView sendtimev;
    TextView commentv;
    TextView nicknamev;
    ImageView avatarURLv;

    ViewCache cache;
    if (convertView == null) { // 显示第一页的时候convertView为空

      cache = new ViewCache();

      convertView = inflater.inflate(resource, null); // 生成条目对象

      cache.sendtimev = (TextView) convertView.findViewById(R.id.sendtime);
      cache.commentv = (TextView) convertView.findViewById(R.id.comment);
      cache.nicknamev = (TextView) convertView.findViewById(R.id.nickname);
      cache.avatarURLv = (ImageView) convertView.findViewById(R.id.avatarURL);

      convertView.setTag(cache);
    } else {

      cache = (ViewCache) convertView.getTag();
    }

    sendtimev = cache.sendtimev;
    commentv = cache.commentv;
    nicknamev = cache.nicknamev;
    avatarURLv = cache.avatarURLv;

    CommentDTO comment = comments.get(position);
    // 实现数据绑定

    String avatarURL = comment.getAvatarURL();
    if (avatarURL != null && avatarURL != "") cs.setImageView(avatarURLv, avatarURL);
    else avatarURLv.setImageResource(R.drawable.default_avatar);

    String sendtime = DateUtils.getRelativeTime(comment.getSendtime());
    sendtimev.setText(sendtime);

    commentv.setText(comment.getContent());
    nicknamev.setText(comment.getNickname());

    avatarURLv.setOnClickListener(
        new OnClickListener() {

          @Override
          public void onClick(View view) {
            // TODO Auto-generated method stub
            startActivity_UserProfile();
          }
        });

    return convertView;
  }
Ejemplo n.º 2
0
  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
    // 获取数据
    AppInfo info = (AppInfo) getItem(position);

    // 获取View
    ViewCache cache = null;
    if (convertView == null) {
      convertView = mInflater.inflate(mItemResource, null);
      ImageView app_icon = (ImageView) convertView.findViewById(R.id.app_icon);
      TextView app_name = (TextView) convertView.findViewById(R.id.app_name);
      CheckBox app_CheckBox = (CheckBox) convertView.findViewById(R.id.app_checkbox);

      cache = new ViewCache();

      cache.app_icon = app_icon;
      cache.app_name = app_name;
      cache.app_CheckBox = app_CheckBox;

      convertView.setTag(cache);
    } else {
      cache = (ViewCache) convertView.getTag();
    }

    // 绑定数据
    cache.app_icon.setImageDrawable(info.appIcon);
    cache.app_name.setText(info.appName);
    Boolean slected = isSelected.get(info.packageName);
    if (slected == null) {
      slected = Boolean.FALSE;
    }
    cache.app_CheckBox.setChecked(slected);
    cache.info = info;

    return convertView;
  }
Ejemplo n.º 3
0
    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
      ViewCache viewCache;
      if (convertView == null) {
        convertView =
            View.inflate(InformationActivity.this, R.layout.knowledge_information_item, null);
        viewCache = new ViewCache(convertView);
        convertView.setTag(viewCache);
      } else {
        viewCache = (ViewCache) convertView.getTag();
      }

      final Knowledge bean = (Knowledge) getItem(position);
      LinearLayout linearLayout = viewCache.getLinearLayout();
      LinearLayout linearPressed = viewCache.getLayoutPressed();
      TextView today = viewCache.getToday();
      TextView yuchanqi = viewCache.getYuchanqi();
      TextView week = viewCache.getWeek();
      TextView date = viewCache.getDate();
      TextView everyDayTitle = viewCache.getEveryDayTitle();
      TextView subTitle = viewCache.getSubTitle();
      TextView content = viewCache.getContent();
      ImageView image = viewCache.getContentImage();
      CheckBox checkBox0 = viewCache.getCheckBox0();
      TextView remind0 = viewCache.getRemind0();
      CheckBox checkBox1 = viewCache.getCheckBox1();
      TextView remind1 = viewCache.getRemind1();
      CheckBox checkBox2 = viewCache.getCheckBox2();
      TextView remind2 = viewCache.getRemind2();
      ImageView line0 = viewCache.getLine0();
      ImageView line1 = viewCache.getLine1();
      ImageView line2 = viewCache.getLine2();
      LinearLayout ll0 = viewCache.getLl0();
      LinearLayout ll1 = viewCache.getLl1();
      LinearLayout ll2 = viewCache.getLl2();
      LinearLayout layout_know = viewCache.getLayoutKnow();
      LinearLayout topicLL0 = viewCache.getTopicLL0();
      LinearLayout topicLL1 = viewCache.getTopicLL1();
      LinearLayout topicLL2 = viewCache.getTopicLL2();
      TextView topicTV0 = viewCache.getTopicTV0();
      TextView topicTV1 = viewCache.getTopicTV1();
      TextView topicTV2 = viewCache.getTopicTV2();
      ImageView topicLine0 = viewCache.getTopicLine0();
      ImageView topicLine1 = viewCache.getTopicLine1();
      ImageView topicLine2 = viewCache.getTopicLine2();
      topicLine0.setVisibility(View.GONE);
      topicLine1.setVisibility(View.GONE);
      topicLine2.setVisibility(View.GONE);
      topicLL0.setVisibility(View.GONE);
      topicLL1.setVisibility(View.GONE);
      topicLL2.setVisibility(View.GONE);
      today.setVisibility(View.GONE);
      yuchanqi.setVisibility(View.GONE);
      image.setVisibility(View.GONE);
      line0.setVisibility(View.GONE);
      line1.setVisibility(View.GONE);
      line2.setVisibility(View.GONE);
      ll0.setVisibility(View.GONE);
      ll1.setVisibility(View.GONE);
      ll2.setVisibility(View.GONE);
      everyDayTitle.setVisibility(View.GONE);
      subTitle.setVisibility(View.GONE);
      // week
      final int has = hasDaysNum;
      if (position != 0) {
        week.setText(
            getWeek(getBeforeAfterDate(getPregnancyDay(has).toString(), (bean.days_number - 2))));
      } else {
        week.setVisibility(View.GONE);
      }
      // date
      Calendar cal = new GregorianCalendar();
      cal.setTime(getBeforeAfterDate(getPregnancyDay(has).toString(), (bean.days_number - 2)));
      if (position != 0) {
        date.setText((cal.get(Calendar.MONTH) + 1) + "月" + cal.get(Calendar.DAY_OF_MONTH) + "日");
      } else {
        date.setVisibility(View.GONE);
      }
      // title
      ArrayList<Knowledge> list = bean.list;

      for (int i = 0; i < list.size(); i++) {
        if (list.get(i).category_id == 5) {
          continue;
        }
        final Knowledge knowledge = list.get(i);

        if (knowledge.type_id == CommConstants.TYPE_KNOW) {
          linearPressed.setOnClickListener(
              new OnClickListener() {
                @Override
                public void onClick(View v) {
                  // 知识
                  // Umeng Evert
                  MobclickAgent.onEvent(
                      getBaseContext(), EventContants.know, EventContants.know_item_click);
                  Intent intent = null;
                  if (position == 0) {
                    intent =
                        new Intent(InformationActivity.this, InformationForTitleActivity.class)
                            .putExtra("type_name", "备孕")
                            .putExtra("mStrings", mString);
                  } else {
                    intent = new Intent(getApplicationContext(), InformationDetailActivity.class);
                    intent.putExtra(InformationDetailActivity.BUNDLE_ID, knowledge._id);
                    intent.putExtra(
                        InformationDetailActivity.BUNDLE_CATEGORY_ID, knowledge.category_id);
                    intent.putExtra(
                        InformationDetailActivity.BUNDLE_DAYS_NUMBER, knowledge.days_number);
                  }
                  startActivity(intent);
                }
              });
          layout_know.setVisibility(View.VISIBLE);
          if (knowledge.category_id != 5) {
            if (knowledge.title != null && !knowledge.title.equals("")) {
              subTitle.setVisibility(View.VISIBLE);
              subTitle.setText(knowledge.title);
            } else {
              everyDayTitle.setVisibility(View.GONE);
            }
            if (knowledge.category_id != 0 && position != 0) {
              everyDayTitle.setVisibility(View.VISIBLE);
              everyDayTitle.setText(
                  BabytreeTitleUtil.switchTitle(
                      knowledge.category_id, BabytreeTitleUtil.TYPE_TITLE));
            } else {
              everyDayTitle.setVisibility(View.GONE);
            }
            content.setText(knowledge.summary_content);
            // 图片
            if (knowledge.summary_image != null && !knowledge.summary_image.equals("")) {
              image.setVisibility(View.VISIBLE);
              image.setTag(Md5Util.md5(knowledge.summary_image));
              Bitmap mBitmap =
                  mImageCacheLoaderForBitmap.loadDrawableForBitmap(
                      "htmls/",
                      knowledge.summary_image,
                      InformationActivity.this,
                      new ImageCallbackForBitmap() {
                        public void imageLoadedForBitmap(Bitmap bp, String imageUrl) {
                          try {
                            ImageView tagImage = (ImageView) mListView.findViewWithTag(imageUrl);
                            if (tagImage != null) {
                              if (bp != null) {
                                // tagImage.setImageDrawable(imageDrawable);
                                tagImage.setImageBitmap(bp);
                              }
                            }
                          } catch (OutOfMemoryError e) {
                            // catch block
                            e.printStackTrace();
                            bp.recycle();
                          }
                        }
                      });
              if (mBitmap != null) {
                image.setImageBitmap(mBitmap);
              }

            } else {
              image.setVisibility(View.GONE);
            }
          }

        } else if (knowledge.type_id == CommConstants.TYPE_REMIND) { // remind
          if (ll0.getVisibility() == View.GONE && knowledge.is_important == 1) {
            ll0.setVisibility(View.VISIBLE);
            line0.setVisibility(View.VISIBLE);
            remind0.setText(knowledge.title);
            ll0.setOnClickListener(
                new OnClickListener() {

                  @Override
                  public void onClick(View v) {
                    // Umeng Evert
                    MobclickAgent.onEvent(
                        getBaseContext(), EventContants.know, EventContants.know_remind);
                    Intent intent = new Intent(getApplicationContext(), RemindDetailActivity.class);
                    intent.putExtra("_id", knowledge._id);
                    intent.putExtra("title", knowledge.title);
                    intent.putExtra("status", knowledge.status);
                    intent.putExtra("days_number", knowledge.days_number);
                    intent.putExtra("position", position);
                    // intent.putExtra("identify", 0);
                    startActivity(intent);
                  }
                });
            if (knowledge.status == 1) {
              checkBox0.setChecked(true);
            } else {
              checkBox0.setChecked(false);
            }
            checkBox0.setOnClickListener(
                new OnClickListener() {

                  @Override
                  public void onClick(View v) {

                    CheckBox cb = (CheckBox) v;
                    if (cb.isChecked()) {
                      mController.updateKnowledge(knowledge._id, 1);
                      knowledge.status = 1;
                    } else {
                      mController.updateKnowledge(knowledge._id, 0);
                      knowledge.status = 0;
                    }
                  }
                });
          } else if (ll1.getVisibility() == View.GONE && knowledge.is_important == 1) {
            ll1.setVisibility(View.VISIBLE);
            line1.setVisibility(View.VISIBLE);
            remind1.setText(knowledge.title);

            ll1.setOnClickListener(
                new OnClickListener() {

                  @Override
                  public void onClick(View v) {
                    // Umeng Evert
                    MobclickAgent.onEvent(
                        getBaseContext(), EventContants.know, EventContants.know_remind);
                    Intent intent = new Intent(getApplicationContext(), RemindDetailActivity.class);
                    intent.putExtra("_id", knowledge._id);
                    intent.putExtra("title", knowledge.title);
                    intent.putExtra("status", knowledge.status);
                    intent.putExtra("identify", 0);
                    intent.putExtra("days_number", knowledge.days_number);
                    intent.putExtra("position", position);
                    startActivity(intent);
                  }
                });

            if (knowledge.status == 1) {
              checkBox1.setChecked(true);
            } else {
              checkBox1.setChecked(false);
            }
            checkBox1.setOnClickListener(
                new OnClickListener() {

                  @Override
                  public void onClick(View v) {

                    CheckBox cb = (CheckBox) v;
                    if (cb.isChecked()) {
                      mController.updateKnowledge(knowledge._id, 1);
                      knowledge.status = 1;
                    } else {
                      mController.updateKnowledge(knowledge._id, 0);
                      knowledge.status = 0;
                    }
                  }
                });
          } else if (ll2.getVisibility() == View.GONE && knowledge.is_important == 1) {
            ll2.setVisibility(View.VISIBLE);
            line2.setVisibility(View.VISIBLE);
            remind2.setText(knowledge.title);

            ll2.setOnClickListener(
                new OnClickListener() {

                  @Override
                  public void onClick(View v) {
                    // Umeng Evert
                    MobclickAgent.onEvent(
                        getBaseContext(), EventContants.know, EventContants.know_remind);
                    Intent intent = new Intent(getApplicationContext(), RemindDetailActivity.class);
                    intent.putExtra("_id", knowledge._id);
                    intent.putExtra("title", knowledge.title);
                    intent.putExtra("status", knowledge.status);
                    intent.putExtra("identify", 0);
                    intent.putExtra("days_number", knowledge.days_number);
                    intent.putExtra("position", position);
                    startActivity(intent);
                  }
                });

            if (knowledge.status == 1) {
              checkBox2.setChecked(true);
            } else {
              checkBox2.setChecked(false);
            }
            checkBox2.setOnClickListener(
                new OnClickListener() {

                  @Override
                  public void onClick(View v) {
                    CheckBox cb = (CheckBox) v;
                    if (cb.isChecked()) {
                      mController.updateKnowledge(knowledge._id, 1);
                      knowledge.status = 1;
                    } else {
                      mController.updateKnowledge(knowledge._id, 0);
                      knowledge.status = 0;
                    }
                  }
                });
          }
        } else if (knowledge.type_id == CommConstants.TYPE_TOPIC) { // 讨论
          if (topicLL0.getVisibility() == View.GONE) {
            topicLine0.setVisibility(View.VISIBLE);
            topicLL0.setVisibility(View.VISIBLE);
            topicTV0.setText(knowledge.title);
            topicLL0.setOnClickListener(
                new View.OnClickListener() {

                  @Override
                  public void onClick(View v) {
                    startActivity(
                        new Intent(InformationActivity.this, TagTopicListActivity.class)
                            .putExtra("tag", knowledge.title));
                  }
                });

          } else if (topicLL1.getVisibility() == View.GONE) {
            topicLine1.setVisibility(View.VISIBLE);
            topicLL1.setVisibility(View.VISIBLE);
            topicTV1.setText(knowledge.topics);
            topicLL1.setOnClickListener(
                new View.OnClickListener() {

                  @Override
                  public void onClick(View v) {
                    startActivity(
                        new Intent(InformationActivity.this, TagTopicListActivity.class)
                            .putExtra("tag", knowledge.title));
                  }
                });

          } else if (topicLL2.getVisibility() == View.GONE) {
            topicLine2.setVisibility(View.VISIBLE);
            topicLL2.setVisibility(View.VISIBLE);
            topicTV2.setText(knowledge.topics);
            topicLL2.setOnClickListener(
                new View.OnClickListener() {

                  @Override
                  public void onClick(View v) {
                    startActivity(
                        new Intent(InformationActivity.this, TagTopicListActivity.class)
                            .putExtra("tag", knowledge.title));
                  }
                });
          }
        }
        yuchanqi.setText("离预产期还有" + hasDaysNum + "天");
      }

      int section = getSectionForPosition(position);
      boolean displaySectionHeaders = (getPositionForSection(section) == position);
      bindSectionHeader(convertView, position, displaySectionHeaders);
      if (selectedPosition == position && hasDaysNum >= 0) {
        linearLayout.setBackgroundResource(R.color.pink);
        today.setVisibility(View.VISIBLE);
        yuchanqi.setVisibility(View.VISIBLE);
        // selectedPosition = -1;
        if (!displaySectionHeaders) {
          LinearLayout layoutOther = viewCache.getLayoutOther();
          layoutOther.setPadding(0, 30, 0, 0);
        }
      } else {
        linearLayout.setBackgroundResource(R.color.background);
        today.setVisibility(View.GONE);
        yuchanqi.setVisibility(View.GONE);
      }
      return convertView;
    }