我写了下面的代码:
TodosOverviewActivity extends ListActivity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.todo_list);
this.getListView().setDividerHeight(2);
registerForContextMenu(getListView());
fillData();
}
private void fillData() {
fetchEvents();
adapter2 = new MySimpleArrayAdapter
(this, nameOfEvent, startDates, descriptions);
setListAdapter(adapter2);
}
public class MySimpleArrayAdapter extends ArrayAdapter<String> {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.todo_list, parent, false);
TextView titleTextView = (TextView) rowView
.findViewById(R.id.todo_row_title);
TextView dateTextView = (TextView) rowView
.findViewById(R.id.todo_row_date);
ImageView imageView = (ImageView) rowView
.findViewById(R.id.todo_row_image);
titleTextView.setText(mTitles[position]);
..
}
但是它在 nullpointer titleTextView
上失败。我错过了什么?
最佳答案
在 getView()
中改变这个:
View rowView = inflater.inflate(R.layout.todo_list, parent, false);
到:
View rowView = inflater.inflate(R.layout.todo_row, parent, false);
为了您的代码,我希望 fillData()
方法 fetchEvents();
不会在 UI 线程上触发网络:)
关于java - 为什么在 android ArrayAdapter 中找不到我的 textView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19030746/