package com.example.ipcplayer.onlineframent;
import java.util.ArrayList;
import java.util.List;
import com.example.ipcplayer.R;
import com.example.ipcplayer.activity.MainActivity;
import com.example.ipcplayer.application.IPCApplication;
import com.example.ipcplayer.object.MusicFile;
import android.app.Activity;
import android.content.Context;
import android.support.v4.app.Fragment;
import android.view.Display;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class SpecialObjectAdapter extends ArrayAdapter<MusicFile>{
private LayoutInflater mInflater;
private int mResource;
private int mWidth;
private int mHeight;
private Activity mActivity;
private MusicFile mmf;
private List<MusicFile> mDatas = new ArrayList<MusicFile>();
public SpecialObjectAdapter(Context context, int resource,
int textViewResourceId, List<MusicFile> objects) {
super(context, resource, textViewResourceId, objects);
mInflater = LayoutInflater.from(context);
mResource = resource;
mActivity = (Activity) context;
mDatas = objects;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return 3;
}
@Override
public MusicFile getItem(int position) {
return mmf = mDatas.get(position);
}
/**
* 计算图片展示尺寸
*/
private void computeImageWidth() {
WindowManager wm = (WindowManager) IPCApplication.getInstance().getApplicationContext()
.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
int screenWidth = display.getWidth();
int tenDip = (int) IPCApplication.getInstance().getApplicationContext().getResources()
.getDimension(R.dimen.ten_dip);
mWidth = screenWidth - 2 * tenDip;
mHeight = (int) ((screenWidth) / 2.5);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
if(convertView == null){
convertView = mInflater.inflate(mResource, null);
holder = new ViewHolder();
holder.mItem_im = (ImageView) convertView.findViewById(R.id.item_im);
holder.mItem_bg = (ImageView) convertView.findViewById(R.id.item_bg);
holder.mTitle = (TextView) convertView.findViewById(R.id.title);
holder.mTime = (TextView) convertView.findViewById(R.id.time);
convertView.setTag(holder);
}else {
holder = (ViewHolder) convertView.getTag();
}
holder.mItem_bg.setOnClickListener(holder);
return convertView;
}
private void redirect(){
Fragment fragment = new SpecialObjectDetailFragment(mmf);
((MainActivity) mActivity).onShow(fragment,true,null);
}
public class ViewHolder implements OnClickListener{
public ImageView mItem_im;
public ImageView mItem_bg;
public TextView mTitle;
public TextView mTime;
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
int id = v.getId();
switch(id){
case R.id.item_bg:
redirect();
break;
case R.id.play:
//通过线程获取网络上的信息,获取到信息后通过接口传递数据到展示界面或播放歌曲
break;
default:
break;
}
}
}
}