@Override public View getView(int position, View convertView, ViewGroup parent) { if (position == 0) { TextView textView = new TextView(AppManagerActivity.this); textView.setBackgroundColor(Color.LTGRAY); textView.setText("user app:" + userApp.size()); return textView; } else if (position == userApp.size() + 1) { TextView textView = new TextView(AppManagerActivity.this); textView.setBackgroundColor(Color.LTGRAY); textView.setText("system app:" + systemApp.size()); return textView; } // get block list object final AppInfo info; if (position < userApp.size() + 1) { info = userApp.get(position - 1); } else { info = systemApp.get(position - userApp.size() - 1 - 1); } final ViewHolder holder; if (convertView != null && convertView instanceof LinearLayout) { holder = (ViewHolder) convertView.getTag(); } else { convertView = View.inflate(AppManagerActivity.this, R.layout.listview_item_app, null); holder = new ViewHolder(); holder.iv_icon = (ImageView) convertView.findViewById(R.id.iv_icon); holder.tv_app_name = (TextView) convertView.findViewById(R.id.tv_app_name); holder.tv_version_size = (TextView) convertView.findViewById(R.id.tv_version_size); holder.iv_uninstall = (ImageView) convertView.findViewById(R.id.iv_uninstall); convertView.setTag(holder); } String apkName = info.getApkName(); holder.tv_app_name.setText(apkName); String tv_version_size = info.getVersion() + ", " + info.getSize(); holder.tv_version_size.setText(tv_version_size); Drawable drawable = info.getIcon(); holder.iv_icon.setImageDrawable(drawable); holder.iv_uninstall.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent( "android.intent.action.DELETE", Uri.parse("package:" + info.getPackageName())); startActivity(intent); } }); return convertView; }