I have list view [text view and check box controlls] with more data. I will choose the item from list view and display the selected items in the next activity. My problem is
I solved the problem. i add the
View view = null;
convertView = null; //in the get view and comments the else part of
if (convertView == null) {
}
/*else{
} */
change this in your adapter class
View view = null;
to
View view = convertView;
I would recommend you to remodify your getView like this. This helped me.
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder holder =null;
// Log.e("getview", "getview");
View view = null;
if (convertView == null) {
LayoutInflater inflator = context.getLayoutInflater();
view = inflator.inflate(R.layout.list_layout, null);
holder =(ViewHolder) view.getTag();
viewHolder.text = (TextView) view.findViewById(R.id.label);
viewHolder.checkbox = (CheckBox) view.findViewById(R.id.check);
view.setTag(viewHolder);
} else {
view = convertView;
((ViewHolder) view.getTag()).checkbox.setTag(list.get(position));
}
viewHolder.checkbox.setTag(list.get(position));
holder.text.setText(list.get(position).getName());
holder.checkbox.setChecked(list.get(position).isSelected());
viewHolder.checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
// con = new constant();
Model element = (Model) viewHolder.checkbox.getTag();
element.setSelected(buttonView.isChecked());
// Log.e("MyCustomArrayAdapter.java", "selectpos array list length"+constant.selectpos.size());
if(isChecked==true){
Log.e("check box value and position ", element.getName());
Log.e("position", ""+position);
con.selectpos.set(position, 1);
}
else{
Log.e("position unselect", ""+position +"---------"+ element.getName());
con.selectpos.set(position, 0);
}
}
});
return view;
}
}