我正在研究一本书(大书呆子牧场指南,Android),我正在尝试让 listView 正常工作。它过去一直有效,我不相信我更改了任何代码,但是当我运行我的应用程序时,它只显示一个空白页。就像我之前说的,我之前确实有一个 listView 完全可以工作,使用相同的代码。这是我拥有的主要代码:
// 如果有任何其他类或文件您想查看,请发表评论,我可以添加代码。
public class CrimeListFragment extends ListFragment {
private static final String Test = "CrimeListFragment";
private ArrayList<Crime> mCrimes;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getActivity().setTitle(R.string.crimes_title);
mCrimes = CrimeLab.get(getActivity()).getCrimes();
CrimeAdapter adapter = new CrimeAdapter(mCrimes);
setListAdapter(adapter);
}
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
Crime c = ((CrimeAdapter)getListAdapter()).getItem(position);
Intent i = new Intent(getActivity(), CrimeActivity.class);
startActivity(i);
}
private class CrimeAdapter extends ArrayAdapter<Crime> {
public CrimeAdapter(ArrayList<Crime> crimes) {
super(getActivity(), 0, crimes);
}
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = getActivity().getLayoutInflater().inflate(R.layout.list_item_crime, null);
}
Crime c = getItem(position);
TextView titleTextView = (TextView)convertView.findViewById(R.id.crime_list_item_titleTextView);
titleTextView.setText(c.getTitle());
TextView dateTextView = (TextView)convertView.findViewById(R.id.crime_list_item_dateTextView);
dateTextView.setText(c.returnDate());
CheckBox solvedCheckBox = (CheckBox)convertView.findViewById(R.id.crime_list_item_solvedCheckBox);
solvedCheckBox.setChecked(c.isSolved());
return convertView;
}
}
}
任何帮助将非常感激。这个问题已经持续了几个星期,非常令人沮丧。谢谢你们!