Android - 如何获取应用程序的图标?

Var*_*oid 3 checkbox icons android listview adapter

我试图以这种方式显示任务列表 -

图标| ApplicationName | 复选框

因为我发现没有listview适配器支持这个,所以我决定开发一个自定义适配器,但我无法获取应用程序的图标.到目前为止我试过这个: -

public View getView(int position, View convertView, ViewGroup parent)
{
    View v = convertView;
    View row = inflater.inflate(R.layout.item, parent, false);
    CheckedTextView ctb = (CheckedTextView)row.findViewById(R.id.checkText);
    String pkgName = "com.abc.abc";

    ctb.setText("bla bla");
    ImageView iv = (ImageView)row.findViewById(R.id.image);
    List<PackageInfo> pkgs = activity.getPackageManager().getInstalledPackages(0);
    for(PackageInfo p : pkgs)
    {
       if(p.packageName.equals(pkgName))
       {
          Drawable d =  p.applicationInfo.loadIcon(pm);
           iv.setImageDrawable(d);
       }
    }

     return row;
}
}
Run Code Online (Sandbox Code Playgroud)

而且我确信我在这段代码中尝试了一些愚蠢的东西.请尽量抓住我做错的事.

谢谢.

big*_*nes 8

您可以通过以下方式获取应用程序(包)的图标:

String pkg = "com.app.my";
Drawable icon = getContext().getPackageManager().getApplicationIcon(pkg);
Run Code Online (Sandbox Code Playgroud)