Infact我有一个列表视图,它有“两个图像+两个Textviews”作为一个项目。更改自定义列表视图项目
我确实想要做的是我想在用户单击图像时更改textview的文本。
public class ListViewCustomAdapter extends BaseAdapter implements OnClickListener{
`ViewHolder holder;`
`ArrayList<Object> itemList;`
`public Activity context;`
`public LayoutInflater inflater;`
`public ListViewCustomAdapter(Activity context,ArrayList<Object> itemList) {`
`super();`
`this.context = context;`
`this.itemList = itemList;`
`this.inflater =` `(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);`
`}`
`@Override`
`public int getCount() {`
`// TODO Auto-generated method stub`
`return itemList.size();`
`}`
`@Override`
`public Object getItem(int position) {`
`// TODO Auto-generated method stub`
`return itemList.get(position);`
`}`
`@Override`
`public long getItemId(int position) {`
`// TODO Auto-generated method stub`
`return 0;`
`}`
`public static class ViewHolder`
`{`
`ImageView plus;`
`ImageView minus;`
`TextView question;`
`TextView score;`
`}`
`@Override`
`public View getView(int position, View convertView, ViewGroup parent) {`
`// TODO Auto-generated method stub`
`if(convertView==null)`
`{`
`holder = new ViewHolder();`
`convertView = inflater.inflate(R.layout.listitem_row, null);`
`holder.plus = (ImageView) convertView.findViewById(R.id.plus);`
`holder.minus = (ImageView) convertView.findViewById(R.id.minus);`
`holder.plus.setOnClickListener(this);`
`holder.minus.setOnClickListener(this);`
`holder.question = (TextView) convertView.findViewById(R.id.question);`
`holder.score = (TextView) convertView.findViewById(R.id.score);`
`convertView.setTag(holder);`
`}`
`else`
`holder=(ViewHolder)convertView.getTag();`
`ItemBean bean = (ItemBean) itemList.get(position);`
`holder.minus.setImageResource(bean.getminus());`
`holder.plus.setImageResource(bean.getplus());`
`holder.question.setText(bean.getquestion());`
`holder.score.setText(bean.getscore());`
`return convertView;`
`}`
`@Override`
`public void onClick(View v) {`
`switch(v.getId()) {`
`case R.id.minus:`
`{`
`int score = Integer.getInteger(holder.score.getText().toString());`
`holder.score.setText(Integer.toString(score-1));`
`break;`
`}`
`case R.id.plus:`
`{`
`int score = Integer.getInteger(holder.score.getText().toString());`
`holder.score.setText(Integer.toString(score+1));`
`break;`
`}`
`}}`
}
我得到空指针异常。 我认为问题在于,程序无法理解它应该针对哪个文本视图,例如此列表视图中有多个项目,并且每个项目都包含此Score Score项目。
Plz帮助我!
粘贴你的logcat – waqaslam 2012-04-20 11:39:08
是点击监听器的问题吗? – waqaslam 2012-04-20 11:42:32