package com.jacky.compatible.launcher.adapter;
import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.jacky.compatible.launcher.features.app.AppFragment;
import com.jacky.compatible.launcher.model.AppBean;
import com.jacky.launcher.R;
import java.util.List;
import java.util.Random;
/**
* AppFragment adapter
*
* @author jacky
* @version 1.0
* @since 2016.5.10
*/
public class AppAdapter extends BaseAdapter {
private List<AppBean> mAppBeanList;
private Context mContext;
public Holder mHolder;
private AppFragment mAppFragment;
private int[] drawableIds = {
R.drawable.app_blue,
R.drawable.app_green,
R.drawable.app_jasper,
R.drawable.app_lawngreen,
R.drawable.app_red,
R.drawable.app_yellow
};
public AppAdapter(AppFragment appFragment, Context context, List<AppBean> appBeanList) {
mAppFragment = appFragment;
mContext = context;
mAppBeanList = appBeanList;
}
@Override
public int getCount() {
return mAppBeanList.size();
}
@Override
public Object getItem(int position) {
return mAppBeanList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
mHolder = new Holder();
convertView = LayoutInflater.from(mContext).inflate(R.layout.item_app, null);
mHolder.name = (TextView) convertView.findViewById(R.id.item_app_name);
mHolder.icon = (ImageView) convertView.findViewById(R.id.item_app_icon);
mHolder.bg = convertView.findViewById(R.id.item_app_bg);
convertView.setTag(mHolder);
} else {
mHolder = (Holder) convertView.getTag();
}
Random random = new Random();
mHolder.bg.setBackgroundResource(drawableIds[random.nextInt(6)]);
AppBean appBean = mAppBeanList.get(position);
mHolder.icon.setImageDrawable(appBean.getIcon());
mHolder.name.setText(appBean.getName());
final int pos = position;
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent launchIntent = mContext.getPackageManager().getLaunchIntentForPackage(
mAppBeanList.get(pos).getPackageName());
if (launchIntent != null) {
mContext.startActivity(launchIntent);
}
}
});
return convertView;
}
public class Holder {
private TextView name;
private ImageView icon;
private View bg;
}
}