package com.tadpolemusic.activity.fragment.center; import java.util.List; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AbsListView; import android.widget.AdapterView; import android.widget.ListView; import com.itap.voiceemoticon.widget.LoadingUtil; import com.itap.voiceemoticon.widget.PageListView; import com.tadpolemusic.VEApplication; import com.tadpolemusic.activity.fragment.AbsCenterContent; import com.tadpolemusic.adapter.PullToRefreshListViewAdapter; import com.tadpolemusic.adapter.VoiceAdapter; import com.tadpolemusic.api.PageList; import com.tadpolemusic.api.Voice; import com.tadpolemusic.media.MusicData; import com.tadpolemusic.media.PlayAsyncTask; public class HotVoiceFragment extends AbsCenterContent { private static final String MY_PLAY_LIST_ID = "HotVoiceFragment"; private PageListView<Voice> mListView; private PullToRefreshListViewAdapter<Voice> mVoiceAdapter; private View mLoadingView; @Override public View onCreateView(LayoutInflater inflater, final ViewGroup container, Bundle savedInstanceState) { final HotVoiceFragment me = this; mListView = new PageListView<Voice>(getActivity()) { @Override public PageList<Voice> onLoadPageList(int startIndex, int maxResult) { PageList<Voice> pageList = VEApplication.getVoiceEmoticonApi().getHostVoicesList(startIndex, maxResult); System.out.println("pageList = " + pageList); me.getActivity().runOnUiThread(new Runnable() { @Override public void run() { if (mLoadingView != null) { container.removeView(mLoadingView); mLoadingView = null; } } }); return pageList; } }; // 设置ListView样式 ListView listView = mListView.getRefreshableView(); listView.setDivider(null); mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) { Log.d(VEApplication.TAG, "HotVoice Fragment onItemClick "); //since we use headerview , so we must do this. position = position - 1; me.refreshAndPlay(position); } }); mVoiceAdapter = new VoiceAdapter(getActivity()); mVoiceAdapter.setListView(mListView); mListView.setAdapter(mVoiceAdapter); mListView.doLoad(); mLoadingView = LoadingUtil.getLoadingWidget(getActivity()); container.addView(mLoadingView); return mListView; } public void refreshAndPlay(int position) { if (mVoiceAdapter == null) { return; } List<? extends MusicData> dataList = mVoiceAdapter.getList(); new PlayAsyncTask(getActivity(), dataList, MY_PLAY_LIST_ID).execute(position); } @Override public String geTitle() { return "热门语音"; } @Override public String getUniqueId() { return getClass().getName(); } @Override public void onMusicPlayingIndexChange(int index) { } }