我正在尝试使用图片和文字制作ListView
。我一直在关注这个例子:Android: Custom ListView with Image and Text using ArrayAdapter但我希望列表与已安装的应用及其图标有关。我一直在关注另一个示例来获取图标:Get installed Applications with Name, Package Name, Version and Icon
我已经能够使用图标制作列表,但无法从已安装的应用中获取它们。如果我使用我的drawable中的任何pic,代码都可以正常工作。所以问题是如何获取图标并将其添加到我的ListView
?
代码有点大,我会尝试将其缩小并稍后发布。感谢
答案 0 :(得分:1)
在尝试使其易于阅读并在此发布时,我找到了解决方案。这是神奇的代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.apps_list_view);
rowItems = new ArrayList<AppListRowItem>();
List<PackageInfo> packs = getPackageManager().getInstalledPackages(PackageManager.GET_META_DATA);
for(int i=0;i<packs.size();i++) {
PackageInfo p = packs.get(i);
Pinfo newInfo = new Pinfo();
newInfo.appname = p.applicationInfo.loadLabel(getPackageManager()).toString();
newInfo.pname = p.packageName;
newInfo.versionName = p.versionName;
newInfo.versionCode = p.versionCode;
newInfo.icon = p.applicationInfo.loadIcon(getPackageManager());
PackageNames = p.packageName;
AppNames = p.applicationInfo.loadLabel(getPackageManager()).toString();
test = p.applicationInfo.loadIcon(getPackageManager());
AppListRowItem item = new AppListRowItem(test, AppNames, PackageNames);
rowItems.add(item);
}
其他一切就像上面发布的链接一样。