@Override public View getView(int position, View convertView, ViewGroup viewGroup) { // TODO Auto-generated method stub Holder holder = null; if (convertView == null) { convertView = LayoutInflater.from(context).inflate(R.layout.app_sort_listview_item, null); holder = new Holder(); holder.letterTv = (TextView) convertView.findViewById(R.id.letter_tv); holder.appGv = (GridView) convertView.findViewById(R.id.app_gv); convertView.setTag(holder); } else { holder = (Holder) convertView.getTag(); } SortModel sortModel = sortModels.get(position); holder.letterTv.setText(sortModel.getSortLetters()); AppGridViewAdapter adapter = new AppGridViewAdapter(context, sortModel.getApps()); holder.appGv.setAdapter(adapter); // item click event holder.appGv.setOnItemClickListener( new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // TODO Auto-generated method stub if (view != null) { AppInfo info = (AppInfo) view.getTag(R.id.gridview_item_app); Intent intent = new Intent(); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setComponent(info.getCn()); context.startActivity(intent); } } }); // item long click event holder.appGv.setOnItemLongClickListener( new OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) { if (view != null) { AppInfo info = (AppInfo) view.getTag(R.id.gridview_item_app); AppManager.showInstalledAppDetails(context, info.getCn().getPackageName()); } return true; } }); return convertView; }