I'm trying to implement a ListView relative layout using a ViewHolder. In getView(), I'm running into a NullReference. I've modeled the code after an example I found here on Stack Overflow. Here's the code:
private ViewHolder mViewHolder;
public View getView(int position, View convertView, ViewGroup parent) {
final ToDoItem toDoItem = mItems.get(position);
if (convertView==null){
mViewHolder = new ViewHolder();
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.todo_item, parent, false);
RelativeLayout itemLayout = (RelativeLayout) convertView.findViewById(R.id.RelativeLayout1);
mViewHolder.tvTitle = (TextView) convertView.findViewById((R.id.title));
mViewHolder.cbStatus = (CheckBox) convertView.findViewById(R.id.statusCheckBox);
mViewHolder.tvPriority = (TextView) convertView.findViewById(R.id.priority);
mViewHolder.tvDate = (TextView) convertView.findViewById(R.id.date);
convertView.setTag(mViewHolder);
}else{
mViewHolder = (ViewHolder) convertView.getTag();
}
--->mViewHolder.tvTitle.setText(toDoItem.getTitle());
mViewHolder.tvPriority.setText(toDoItem.getPriority().toString());
mViewHolder.tvDate.setText(toDoItem.getDate().toString());
mViewHolder.cbStatus.setChecked(false);
if (toDoItem.getStatus().toString() == "DONE") mViewHolder.cbStatus.setChecked(true);
final TextView titleView = mViewHolder.tvTitle;
final CheckBox statusView = mViewHolder.cbStatus;
final TextView priorityView = mViewHolder.tvPriority;
final TextView dateView = mViewHolder.tvDate;
itemLayout.addView(titleView);
itemLayout.addView(statusView);
itemLayout.addView(priorityView);
itemLayout.addView(dateView);
return convertView;
The NullReference is thrown on the line following the closing bracket of the
if (convertView == null)
and is marked with ---->
I've tried to assign different entities to the ViewHolder with little success. I'd appreciate any help anyone has to offer. Thanks in advance!
Markb