public
class
MainActivity
extends
Activity
{
private
List<ResolveInfo> mApps =
null
;
private
ArrayList<HashMap<String, Object>> data =
null
;
private
HashMap<String, Object> hashMap =
null
;
class
ViewHolder
{
ImageView viewImg;
TextView viewName;
}
@Override
protected
void
onCreate(Bundle savedInstanceState)
{
super
.onCreate(savedInstanceState);
loadapp();
setContentView(R.layout.activity_main);
GridView gridView = (GridView) findViewById(R.id.gridView1);
BaseAdapter adapter =
new
BaseAdapter()
{
@Override
public
View getView(
int
position, View convertView, ViewGroup parent)
{
LinearLayout layout;
ViewHolder holder =
new
ViewHolder();
if
(convertView ==
null
)
{
LayoutInflater inflater = getLayoutInflater();
layout = (LinearLayout) inflater.inflate(R.layout.linelayout,
null
);
holder.viewImg = (ImageView) layout.findViewById(R.id.imageView1);
holder.viewName = (TextView) layout.findViewById(R.id.textView1);
layout.setTag(holder);
}
else
{
layout = (LinearLayout) convertView;
holder = (ViewHolder) layout.getTag();
}
ResolveInfo info = mApps.get(position);
holder.viewImg.setImageDrawable(info.activityInfo.loadIcon(getPackageManager()));
holder.viewName.setText(info.activityInfo.loadLabel(getPackageManager()).toString());
return
layout;
}
@Override
public
long
getItemId(
int
position)
{
return
position;
}
@Override
public
Object getItem(
int
position)
{
return
mApps.get(position);
}
@Override
public
int
getCount()
{
return
mApps.size();
}
};
gridView.setAdapter(adapter);
}
private
void
loadapp()
{
Intent intent =
new
Intent(Intent.ACTION_MAIN,
null
);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
mApps = getPackageManager().queryIntentActivities(intent,
0
);
}
@Override
public
boolean
onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.main, menu);
return
true
;
}
}