/* * 在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; }
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; }
private void updateDate() { mDateButton.setText(mCrime.getmDate().toString()); }