Reputation: 36654
I have written the following code:
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]);
..
}
However it fails on nullpointer titleTextView
. What am I missing?
Upvotes: 1
Views: 102
Reputation: 14710
Change this - in getView()
:
View rowView = inflater.inflate(R.layout.todo_list, parent, false);
to:
View rowView = inflater.inflate(R.layout.todo_row, parent, false);
For your code sake I hope in fillData()
the method fetchEvents();
doesn't trigger networking on UI thread :)
Upvotes: 2
Reputation: 7295
Try:
View rowView = inflater.inflate(R.layout.todo_list, null);
and don't forget to return rowView
at the end of the function.
Upvotes: 1