在我的列表视图中,我有一个自定义适配器,我使用 TreeMap 构建它,我定义了 getView 方法,如下所示。我试图在单击时删除列表视图的特定文本视图中的文本,只有那些包含特定字符模式(y@y)的文本视图才会被删除。但是,单击列表视图中的一行时,我对其他行产生了删除效果。
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null) {
convertView = inflater.inflate(R.layout.chklistlayout, parent, false);
}
TextView textView = ((TextView) convertView.findViewById(R.id.textView1));
TextView imageview = ((TextView) convertView.findViewById(R.id.textView2));
textView.setText(values[position]);
imageview.setText(mValues[position]);
String s = mValues[position];
if (s.contains("y@y")) {
System.out.println("In if of getview");
System.out.println(s);
imageview.setPaintFlags(imageview.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
} else {
}
return convertView;
}
}
我也尝试使用持有人模式,使用静态持有人类,但问题似乎仍然存在。任何指针?