package com.example.ipcplayer.homeview; import java.util.ArrayList; import com.example.ipcplayer.R; import com.example.ipcplayer.activity.MainActivity; import com.example.ipcplayer.adapter.MusicHomeOnlineListAdapter; import com.example.ipcplayer.controller.OnlineHomeDataController; import com.example.ipcplayer.controller.UICallBackController; import com.example.ipcplayer.utils.LogUtil; import com.example.ipcplayer.utils.ToastUtil; import com.example.ipcplayer.widget.CellLayout; import com.example.ipcplayer.widget.DocIndicator; import com.example.ipcplayer.widget.OnlineWorkspace; import com.example.ipcplayer.widget.Workspace; import android.content.Context; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView; public class OnLineMainView extends BaseHomeView implements OnlineWorkspace.IWorkspaceListener, OnItemClickListener{ private static final int TOTAL_HEAD_IMAGES_SHOW_COUNT = 5; private LayoutInflater mInflater; private LinearLayout mRecommand; private OnlineWorkspace mWorkspace; private DocIndicator mDocIndicator; private ListView mList; private TextView mEmptyTV; private ArrayList<HomeDescriptionItem> mDatas; private MusicHomeOnlineListAdapter mAdapter; private Context mContext ; private MainActivity mMain; public OnLineMainView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public OnLineMainView(Context context, AttributeSet attrs) { super(context, attrs); } public OnLineMainView(Context context) { super(context); } @Override protected void onCreateView(Context context, AttributeSet attrs) { mContext = context; mMain = (MainActivity) context; mInflater = LayoutInflater.from(context); mRecommand = (LinearLayout) mInflater.inflate(R.layout.main_online, null,false); mWorkspace = (OnlineWorkspace) mRecommand.findViewById(R.id.work); mWorkspace.setWorkspaceListener(this); mDocIndicator = (DocIndicator) mRecommand.findViewById(R.id.indicator); View v = mInflater.inflate(R.layout.main_online_list, this); mList = (ListView) v.findViewById(R.id.online_home_list); mEmptyTV = (TextView) v.findViewById(R.id.online_list_empty); mList.addHeaderView(mRecommand); mList.setOnItemClickListener(this); initHomeDescription(); initWorkspace(); } private void initWorkspace() { int total = TOTAL_HEAD_IMAGES_SHOW_COUNT; mDocIndicator.setTotal(total); // mDocIndicator.setVisibility(View.GONE); CellLayout cellLayout = null; for (int i = 0; i < total; i++) { cellLayout = (CellLayout) mInflater.inflate( R.layout.recommand_item, null); mWorkspace.addView(cellLayout); } } /** * 初始化在线描述数据 */ private void initHomeDescription() { ArrayList<HomeDescriptionItem> datas = OnlineHomeDataController .getOnlineMusicHomepage(); setDecriptionData(datas); } private void setDecriptionData(ArrayList<HomeDescriptionItem> datas) { if (mDatas != null) { mDatas.clear(); } mDatas = datas; mAdapter = new MusicHomeOnlineListAdapter(mContext, R.layout.main_online_list_item, 0, mDatas); mList.setAdapter(mAdapter); } @Override protected void onRelease() { } @Override public void onUpdateTotalNum(int total) { // TODO Auto-generated method stub mDocIndicator.setTotal(total); } @Override public void onUpdateCurrent(int current) { // TODO Auto-generated method stub mDocIndicator.setCurrent(current); } @Override public void onWorkspaceClick(int current) { // TODO Auto-generated method stub LogUtil.d("onclick workspace"); } @Override public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) { // TODO Auto-generated method stub LogUtil.d("adapter click position= " + position); ToastUtil.showShortToast(mContext, "position " + position); switch(position){ case 1: break; case 2: break; case 3: UICallBackController.showSpecialObjectFragment(mMain); break; case 4: break; case 5: break; case 6: break; default : break; } } }