1
我在android系统
此使用ExpandableListView是getChildView在适配器类代码:
@Override
public View getChildView(int groupPosition, int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) myContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.childrow, null);
holder = new ViewHolder();
holder.tv = (TextView) convertView
.findViewById(R.id.textView1);
// I added this line of code
holder.stop = (Button) convertView.findViewById(R.id.button3);
holder.position = groupPosition;
convertView.setTag(holder);
holder.stop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ViewHolder holder = new ViewHolder();
holder = (ViewHolder) v.getTag();
int position = 0;
position = holder.position; ************* here
System.out.println("coolapse tag " + position);
expList.collapseGroup(position);
}
});
} else {
holder = (ViewHolder) convertView.getTag();
}
return convertView;
}
它给NullPointerException异常的线上标有** 有什么问题?
这是一类 \t静态类ViewHolder { \t \t \t \t按钮停止; \t \t TextView tv; \t \t int position; \t} – Developer 2012-04-08 18:16:45
您不能使用静态类,每个视图需要一个持有者实例。 – dmon 2012-04-08 18:22:55
所以我应该用什么? – Developer 2012-04-08 18:25:59