package com.kitty.poclient.adapter; import java.util.List; import android.content.Context; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import com.kitty.poclient.R; import com.kitty.poclient.common.WatchDog; import com.kitty.poclient.data.VirtualData; import com.kitty.poclient.domain.Music; import com.kitty.poclient.fragment.PlayerFragment; import com.kitty.poclient.fragment.mymusic.SinglesFragment; public class SinglesAdapter extends BaseAdapter { private static String TAG = SinglesAdapter.class.getSimpleName(); private Context context; private List<Music> mlist; // private AnimationDrawable ad; public List<Music> getMlist() { return mlist; } public void setMlist(List<Music> mlist) { this.mlist = mlist; } public SinglesAdapter(Context context, List<Music> list) { this.context = context; if (list != null) { this.mlist = list; } } @Override public int getCount() { return mlist != null ? mlist.size() : 0; } @Override public Object getItem(int position) { return mlist != null ? mlist.get(position) : null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { Holder holder; if (convertView == null || convertView.getTag() == null) { convertView = LayoutInflater.from(context).inflate(R.layout.singles_item, null); holder = new Holder(convertView, position); convertView.setTag(holder); if (mlist == null) { return convertView; } } else { holder = (Holder) convertView.getTag(); } holder.tvName.setText(mlist.get(position).getName()); holder.tvArtist.setText(mlist.get(position).getArtistName()); return convertView; } class Holder { private int position; private TextView tvName; private TextView tvArtist; private TextView singlePosition; private CheckBox itemSelectBox; private LinearLayout itemSelectLayout; private LinearLayout singlesItemLayout; private ImageView ivSavingState; private ImageView ivChosen; private TextView ivPlaying; public Holder(View convertView, int position) { this.position = position; ivChosen = (ImageView) convertView.findViewById(R.id.iv_chosen); singlesItemLayout = (LinearLayout) convertView.findViewById(R.id.singles_item_layout); itemSelectLayout = (LinearLayout) convertView.findViewById(R.id.item_select_layout); itemSelectBox = (CheckBox) convertView.findViewById(R.id.item_select_box); //选择框 // singlePosition = (TextView) convertView.findViewById(R.id.single_position); tvName = (TextView) convertView.findViewById(R.id.tv_music_name); tvArtist = (TextView) convertView.findViewById(R.id.tv_music_artist); ivSavingState = (ImageView) convertView.findViewById(R.id.iv_saving_state); ivPlaying = (TextView) convertView.findViewById(R.id.iv_playing); // LinearClickListener linearClickListener = new LinearClickListener(position); // itemSelectLayout.setOnClickListener(linearClickListener); // CheckedChangeListener checkListener = new CheckedChangeListener(position); // itemSelectBox.setOnCheckedChangeListener(checkListener); } } class LinearClickListener implements OnClickListener { private int position; public LinearClickListener(int position){ this.position = position; } @Override public void onClick(View v) { VirtualData.localSingles.get(position).switchSelectStatus(); } } class CheckedChangeListener implements OnCheckedChangeListener { private int position; public CheckedChangeListener(int position){ this.position = position; } @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { VirtualData.localSingles.get(position).switchSelectStatus(); } } }