我正在尝试使用chechboxes为Android手机上的已安装应用程序制作列表视图.我将图标放在ArrayList中,如下所示
packs = new ArrayList<String>(); // a list of all the packages
names = new ArrayList<String>(); // a list of all the apps names
icons = new ArrayList<Drawable>(); // a list of all apps drawable images
List<ApplicationInfo> packages = packageManager.getInstalledApplications(PackageManager.GET_META_DATA);
for (ApplicationInfo packageInfo : packages) {
if ((packageInfo.flags & ApplicationInfo.FLAG_SYSTEM) !=1){ // 'if' is to remove all system applications
packs.add((String) packageInfo.packageName);
names.add((String) packageManager.getApplicationLabel(packageInfo));
icons.add((Drawable) packageManager.getApplicationIcon(packageInfo));
Run Code Online (Sandbox Code Playgroud)
然后把它放在listview上,我用它.
icon = (ImageView) row.findViewById(R.id.appIcon);
icon.setImageDrawable(icons.get(position));
Run Code Online (Sandbox Code Playgroud)
但是,它强制关闭,问题出在icon.setImageDrawable(icons.get(position)); 我该如何解决?