package com.konka.music.ui.fragment.singer; import java.util.ArrayList; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ImageView; import android.widget.TextView; import com.konka.music.R; import com.konka.music.adapter.ArrayAdapter; import com.konka.music.pojo.Singer; import com.konka.music.util.ArrayUtils; import com.konka.music.util.Assist; import com.konka.music.util.FragmentManagerUtil; import com.konka.music.util.ViewUtility; import com.kubeiwu.baseclass.loader.BaseLoaderCallbacksFragment; public abstract class SingerBaseFragment extends BaseLoaderCallbacksFragment<ArrayList<Singer>> implements OnItemClickListener { protected class SingerChileAdapter extends ArrayAdapter<Singer> { @Override public View getView(int position, View convertView, ViewGroup parent) { SingerChileViewHolder viewHolder; if (convertView == null || convertView.getTag() == null) { viewHolder = new SingerChileViewHolder(); convertView = View.inflate(getActivity(), R.layout.singer_list_item, null); viewHolder.name = ViewUtility.findViewById(convertView, R.id.singer_title); viewHolder.imageurl = ViewUtility.findViewById(convertView, R.id.singer_icon); viewHolder.desc = ViewUtility.findViewById(convertView, R.id.songs_number); convertView.setTag(viewHolder); } else { viewHolder = (SingerChileViewHolder) convertView.getTag(); } Singer singer = getItem(position); viewHolder.name.setText(singer.getName()); viewHolder.desc.setText(singer.getDesc()); Assist.imageLoader.displayImage(singer.getImageurl(), viewHolder.imageurl, Assist.options); return convertView; } class SingerChileViewHolder { TextView name; ImageView imageurl; TextView desc; } } @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { ArrayList<Singer> singers = getSingers(); if (!ArrayUtils.isEmpty(singers)) { int i = position - getHeaderViewCount(); if (i < 0) { return; } Singer singer = singers.get(i); FragmentManagerUtil.swichFragment(getActivity().getSupportFragmentManager(), SingerMusicFragment.newInstance(singer.getId())); } } protected abstract int getHeaderViewCount(); protected abstract ArrayList<Singer> getSingers(); }