package cn.koolcloud.ipos.appstore.adapter;
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import cn.koolcloud.ipos.appstore.R;
import cn.koolcloud.ipos.appstore.entity.AppInfo;
import cn.koolcloud.ipos.appstore.utils.ConvertUtils;
import cn.koolcloud.ipos.appstore.utils.Env;
/**
* <p>Title: LocalSoftListAdapter.java</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2013</p>
* <p>Company: All In Pay</p>
* @author Teddy
* @date 2013-11-5
* @version
*/
public class LocalSoftListAdapter extends BaseAdapter {
private List<AppInfo> dataList = new ArrayList<AppInfo>();
private Context ctx;
private LayoutInflater mInflater;
public LocalSoftListAdapter(Context context, List<AppInfo> dataSource) {
this.ctx = context;
dataList = dataSource;
mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return dataList.size();
}
@Override
public Object getItem(int arg0) {
return dataList.get(arg0);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
SoftItemViewHolder holder = null;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.local_software_list_item, null);
holder = new SoftItemViewHolder();
holder.IconImageView = (ImageView) convertView.findViewById(R.id.software_icon);
holder.softwareVersionTextView = (TextView) convertView.findViewById(R.id.software_version);
holder.softwareNameTextView = (TextView) convertView.findViewById(R.id.software_item_name);
holder.softwareSizeTextView = (TextView) convertView.findViewById(R.id.software_size);
holder.uninstallButton = (Button) convertView.findViewById(R.id.bt_uninstall);
convertView.setTag(holder);
} else {
holder = (SoftItemViewHolder) convertView.getTag();
}
final AppInfo appInfo = dataList.get(position);
holder.IconImageView.setImageDrawable(appInfo.getIcon());
holder.softwareNameTextView.setText(appInfo.getName());
holder.softwareSizeTextView.setText(ConvertUtils.bytes2kb(appInfo.getSoftSize()));
holder.softwareVersionTextView.setText(appInfo.getVersionName());
holder.uninstallButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Env.uninstallApp(ctx, appInfo.getPackageName());
}
});
return convertView;
}
class SoftItemViewHolder {
ImageView IconImageView;
TextView softwareNameTextView;
TextView softwareVersionTextView;
TextView softwareSizeTextView;
Button uninstallButton;
}
}