Hello mukesh, thanks a lot, i will try the same procedure as you described....
Thanks

On 1/11/12, Mukesh Srivastav <[email protected]> wrote:
> Hi Chander,
>
> I wish if i could help with the whole source. The problem is the design.
>
> let me tell you the real approach.
>
> 1. create a model class which holds the data that is name and checkbox with
> setters and getters. below is the example
>
> /** Holds Music data. */
> private static class Music {
> private String name = "";
> private boolean checked = false;
>
> public Music() {
> }
>
>   have the setters and getters for name and checked
>
> 2.Create a View adapter class which holds the child view data. below is the
> example
>
> private static class MusicViewHolder {
> private CheckBox checkBox;
> private TextView textView;
>
> public MusicViewHolder() {
> }
>
> public MusicViewHolder(TextView textView, CheckBox checkBox) {
> this.checkBox = checkBox;
> this.textView = textView;
> }
>
> public CheckBox getCheckBox() {
> return checkBox;
> }
>
> public void setCheckBox(CheckBox checkBox) {
> this.checkBox = checkBox;
> }
>
> public TextView getTextView() {
> return textView;
> }
>
> public void setTextView(TextView textView) {
> this.textView = textView;
> }
> }
>
>
> 3. your custom adapter  which actally extends the Arrayadapter should be
> like this
>
> /** Custom adapter for displaying an array of Music objects. */
> private static class MusicArrayAdapter extends ArrayAdapter<Music> {
>
> private LayoutInflater inflater;
>
> public MusicArrayAdapter(Context context, List<Music> musicList) {
> super(context, R.layout.simplerow, R.id.rowTextView, musicList);
> // Cache the LayoutInflate to avoid asking for a new one each time.
> inflater = LayoutInflater.from(context);
> }
>
> @Override
> public View getView(int position, View convertView, ViewGroup parent) {
> // Music to display
> Music music = (Music) this.getItem(position);
>
> // The child views in each row.
> CheckBox checkBox;
> TextView textView;
>
> // Create a new row view
> if (convertView == null) {
> convertView = inflater.inflate(R.layout.simplerow, null);
>
> // Find the child views.
> textView = (TextView) convertView
> .findViewById(R.id.rowTextView);
> textView.setTextColor(Color.BLACK);
> checkBox = (CheckBox) convertView.findViewById(R.id.CheckBox01);
>
>  convertView.setTag(new MusicViewHolder(textView, checkBox));
>
>  checkBox.setOnClickListener(new View.OnClickListener() {
> public void onClick(View v) {
> CheckBox cb = (CheckBox) v;
> Music music = (Music) cb.getTag();
> music.setChecked(cb.isChecked());
> }
> });
> }
>  else {
>  MusicViewHolder viewHolder = (MusicViewHolder) convertView
> .getTag();
> checkBox = viewHolder.getCheckBox();
> textView = viewHolder.getTextView();
> }
>
>  checkBox.setTag(music);
>
>  checkBox.setChecked(music.isChecked());
> textView.setText(music.getName());
>
> return convertView;
> }
>
> }
>
>
> 4.finally your setItemclicklisteners should be
>
> Music music = listAdapter.getItem(position);
> music.toggleChecked();
> MusicViewHolder viewHolder = (MusicViewHolder) item
> .getTag();
> viewHolder.getCheckBox().setChecked(music.isChecked());
>
>
>
> That's it. as i said, i have done this earlier, it requries the whole
> process. bascially you need to create and store the data in private Music[]
> musiclistarray;
>
>
> Warm Regards,
> *Mukesh Kumar*,
> Android Consultant/Freelancer,
> India,Hyderabad.
>
> On Wed, Jan 11, 2012 at 12:11 PM, chander <[email protected]> wrote:
>
>> Hi all,
>>
>> In my application, i created a custom file adapter and i am using
>> ListView with checkboxes, upto this point everything working great.
>> But now i have to take the values of Checked listView items in an
>> Array list. In my list view, i am listing Files present on the SD card
>> so i have to take Files for further processing by storing it in an
>> Array List.
>>
>> I am confused here how i pass multiple files for the processing, can
>> someone help me in how i pass checked Files to further processing, or
>> do i need to change my FileAdapter also ?
>>
>> My Adapter class code :--
>>
>> public class FileAdapter extends ArrayAdapter<File>
>> {
>>  Context context;
>>  File[] files;
>>  CheckBox Check;
>>
>>
>>  public FileAdapter(Context context, File[] files)
>>  {
>>    super(context, -1, files);
>>    this.context = context;
>>    this.files = files;
>>
>>
>>  }
>>
>>
>> Thanks
>>
>> --
>> 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
>
>
>
>
> --
>
> --
> 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


-- 
Chandra Mohan Mourya

-- 
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