コード例 #1
0
    /*
     * 在getView() 内部,
     * (1)adapter使用数组列表中指定位置的列表项,创建一个视图对象
     * (2)将该对象返回给ListView
     * (3)ListView 将其设置为自己的子视图
     * (4)ListView刷新,在屏幕上显示
     *
     * ListView与Adapter 之间会话:
     * 调用 getCount() 获得总数,然后再调用 getView() 循环调用多次完成所有项目的显示
     */
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
      // if we weren't given a view , inflate on
      if (convertView == null) {
        convertView =
            getActivity()
                .getLayoutInflater()
                .inflate(R.layout.list_item_crime, null); // 使用新设计的R.layout.list_item_crime布局
      }

      // configure the view for this Crime
      Crime c = getItem(position); // 可以不类型转换

      TextView titleTextView =
          (TextView) convertView.findViewById(R.id.crime_list_item_titleTextView);
      titleTextView.setText(c.getmTitle());
      TextView dateTextView =
          (TextView) convertView.findViewById(R.id.crime_list_item_dateTextView);
      dateTextView.setText(c.getmDate().toString());

      CheckBox solvedCheckBox =
          (CheckBox) convertView.findViewById(R.id.crime_list_item_solvedCheckBox);
      solvedCheckBox.setChecked(c.isSolved());

      return convertView;
    }
コード例 #2
0
  private String getCrimeReport() {
    String solvedString = null;
    if (mCrime.ismSolved()) {
      solvedString = getString(R.string.crime_report_solved);
    } else {
      solvedString = getString(R.string.crime_report_unresolved);
    }

    String dateFormat = "EEE, MMM dd";
    String dateString = DateFormat.format(dateFormat, mCrime.getmDate()).toString();

    String suspect = mCrime.getSuspect();
    if (suspect == null) {
      suspect = getString(R.string.crime_report_no_suspect);
    } else {
      suspect = getString(R.string.crime_report_suspect, suspect);
    }

    String report =
        getString(R.string.crime_report, mCrime.getmTitle(), dateString, solvedString, suspect);

    return report;
  }
コード例 #3
0
 private void updateDate() {
   mDateButton.setText(mCrime.getmDate().toString());
 }