Greetings of the day to everybody ,i am creating a custom list view
with textview and checkboxes by using array adapter and i am able to
display the list with checkboxes but when i select one checkbox and
scroll down and see that one again the secongd checkbox is also
beinged checked automatically how i dont know and second doubt is i
want to store the checkbox which is selected how can i do that one .i
am new to this platform please suggest me solution .below is the code
i am using
 ListTestActivity.java
public class ListTestActivity extends ListActivity {
    /** Called when the activity is first created. */
        String tag = "Events";
        String[] presidents;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
     // Create an array of Strings, that will be put to our
ListActivity
        presidents
=getResources().getStringArray(R.array.presidents_array);

                ArrayAdapter<Model> adapter = new InteractiveArrayAdapter(this,
                                getModel());
                Log.d(tag," event");
                setListAdapter(adapter);
                Log.d(tag," 1");
        }

        private List<Model> getModel() {
                Log.d(tag,"bht");
                int index = presidents.length;
                int positio;
                String Linux;
                //List<Model> list = new ArrayList<Model>();
                /*for(positio=0;positio<=index ;++positio){
                        String Linux="hai";
                        List<Model> list = new ArrayList<Model>();
                        list.add(get(presidents[positio]));
                        list.add(get(Linux));
                        Log.d(tag," 2");
//Toast.makeText(this,"You have selected
" ,Toast.LENGTH_SHORT).show();
                        //if(positio>=10){
                        return list;

                        //}
                }*/
                List<Model> list = new ArrayList<Model>();
                //int position=0;
                //List<Model> list = new ArrayList<Model>();
                //list.add(get(presidents[position]));
                for(positio=0;positio<index ;positio++){
                        Linux=presidents[positio];
                        list.add(get(Linux));
                }

                Log.d(tag,"bht1");
                /*list.add(get("Windows7"));
                list.add(get("Suse"));
                list.add(get("Eclipse"));
                list.add(get("Ubuntu"));
                list.add(get("Solaris"));
                list.add(get("Android"));
                list.add(get("iPhone"));*/
                // Initially select one of the items
                //list.get(1).setSelected(true);
                //String re=list.get(1);
                Log.d(tag," event1");
                return list;

        }

        private Model get(String s) {
                Log.d(tag," event2");
                return new Model(s);
        }
}

InteractiveArrayAdapter.java

public class InteractiveArrayAdapter extends ArrayAdapter<Model> {
        String tag = "Events";
        private final List<Model> list;
        private final Activity context;

        public InteractiveArrayAdapter(Activity context, List<Model> list) {
                super(context, R.layout.rowbuttonlayout, list);
                this.context = context;
                this.list = list;
        }

        static class ViewHolder {
                protected TextView text;
                protected CheckBox checkbox,checkbox1;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent)
{
                Log.d(tag," 3");
                View view = null;
                if (convertView == null) {
                        LayoutInflater inflator = context.getLayoutInflater();
                        view = inflator.inflate(R.layout.rowbuttonlayout, null);
                        final ViewHolder viewHolder = new ViewHolder();
                        viewHolder.text = (TextView) 
view.findViewById(R.id.label);
                        viewHolder.checkbox = (CheckBox) 
view.findViewById(R.id.check);
                        viewHolder.checkbox1 = (CheckBox)
view.findViewById(R.id.checkbox1);
                        viewHolder.checkbox
                                        .setOnCheckedChangeListener(new
CompoundButton.OnCheckedChangeListener() {

                                                @Override
                                                public void 
onCheckedChanged(CompoundButton buttonView,
                                                                boolean 
isChecked) {

                                                        Model element = (Model) 
viewHolder.checkbox
                                                                        
.getTag();
                                                        String 
posit=element.getName();
                                                        
Log.d(posit,"identifyme");
                                                        
element.setSelected(buttonView.isChecked());
                                                        int 
dam=viewHolder.checkbox.getId();
                                                        //Log.d(dam,"bbb");
                                                        
System.out.println("Checked : " + viewHolder.checkbox.getId());

                                                }
                                        });
                        viewHolder.checkbox1
                        .setOnCheckedChangeListener(new
CompoundButton.OnCheckedChangeListener() {

                                @Override
                                public void onCheckedChanged(CompoundButton 
buttonView,
                                                boolean isChecked) {

                                        Model element = (Model) 
viewHolder.checkbox1
                                                        .getTag();

                                        String posit=element.getName();

                                        Log.d(posit,"identify");
                                        
element.setSelected(buttonView.isChecked());



                                        //Log.d(tag,"identifyme");
                                }
                        });

                        view.setTag(viewHolder);
                        Log.d(tag,"me");
                        viewHolder.checkbox.setTag(list.get(position));
                        viewHolder.checkbox1.setTag(list.get(position));
                } else {
                        view = convertView;
                        Log.d(tag,"meeee");
                        ((ViewHolder) 
view.getTag()).checkbox.setTag(list.get(position));
                        ((ViewHolder) 
view.getTag()).checkbox1.setTag(list.get(position));
                }
                ViewHolder holder = (ViewHolder) view.getTag();
                holder.text.setText(list.get(position).getName());
                //String Dis=list.get(position).getName();
                //Log.d(Dis," event7");
                holder.checkbox.setChecked(list.get(position).isSelected());
                holder.checkbox1.setChecked(list.get(position).isSelected());
                Log.d(tag," event7");

                return view;

        }
}

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to