您的位置:首页 > 移动开发 > Android开发

Android:GridView类似桌面显示所有应用

2013-06-07 22:21 609 查看
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;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  桌面 GridView
相关文章推荐