public class Choice_Adapter extends BaseAdapter {
List<PackageInfo> packageList;
Activity context;
PackageManager packageManager;
public Choice_Adapter(Activity context, List<PackageInfo> packageList,
PackageManager packageManager) {
super();
this.context = context;
this.packageList = packageList;
this.packageManager = packageManager;
}
private class ViewHolder {
TextView apkName;
CheckBox checkapp;
}
public int getCount() {
return packageList.size();
}
public Object getItem(int position) {
return packageList.get(position);
}
public long getItemId(int position) {
return 0;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
LayoutInflater inflater = context.getLayoutInflater();
if (convertView == null) {
convertView = inflater.inflate(R.layout.row_listview, null);
holder = new ViewHolder();
holder.apkName = (TextView) convertView.findViewById(R.id.appname);
holder.checkapp= (CheckBox) convertView.findViewById(R.id.checkapp);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
PackageInfo packageInfo = (PackageInfo) getItem(position);
Drawable appIcon = packageManager
.getApplicationIcon(packageInfo.applicationInfo);
String appName = packageManager.getApplicationLabel(
packageInfo.applicationInfo).toString();
appIcon.setBounds(0, 0, 40, 40);
holder.apkName.setCompoundDrawables(appIcon, null,null,null);
holder.apkName.setCompoundDrawablePadding(50);
holder.apkName.setText(appName);
//holder.checkapp.setChecked(((ListView)parent).isItemChecked(position));
return convertView;
}
}
체크를 하고 스크롤을 내리면 체크하지도 않은 item도 체크가 되있네요.어떻게 해야할까요.