簡體   English   中英

如何將包圖標添加到arraylist

[英]How to add package icon into arraylist

如何將我從結果中獲得的應用程序圖標放入arraylist?

如果我使用attrs.icon("Package Name", pkg.applicationInfo.loadIcon(getPackageManager()));

它顯示此錯誤。未定義Map類型的方法icon(String,Drawable)

如果我使用attrs.put("Package Name", pkg.applicationInfo.loadIcon(getPackageManager()));

它顯示此錯誤Map類型的put(String,String)方法不適用於參數(String,Drawable)

我努力了

Drawable icon;

attrs.icon("Package Name", pkg.applicationInfo.loadIcon(getPackageManager()));

Drawable Icon = pm.getApplicationIcon(pkg.applicationInfo);

日食都給錯誤

這是代碼

protected void onPostExecute(List < PackageInfo > result) {

    // Here you will have all the setAdapter related code
    List < PackageInfo > adPackages = result;
    PackageManager pm = getPackageManager();

    List < Map < String, String >> data = new ArrayList < Map < String, String >> (
    adPackages.size());

    for (PackageInfo pkg: adPackages) {
        Map < String, String > attrs = new HashMap < String, String > ();

        attrs.put("App Name", pm.getApplicationLabel(pkg.applicationInfo).toString());
        attrs.put("Package Name", pkg.packageName);
        //Drawable icon;
        //attrs.icon("Package Name", pkg.applicationInfo.loadIcon(getPackageManager()));
        // Drawable Icon = pm.getApplicationIcon(pkg.applicationInfo);
        data.add(attrs);

    }

    String[] from = new String[] {
        "App Name", "Package Name"
    };
    int[] to = new int[] {
        R.id.text1, R.id.text2
    };
    SimpleAdapter adapter = new SimpleAdapter(
    AppsInspectorActivity.this, data, R.layout.two_line_list_item, from, to);

    ListView mList = (ListView) findViewById(R.id.l_list);

    mList.setAdapter(adapter);
    mPackages = adPackages;

}
}

attrs是一個Map,因此它沒有稱為“ icon”的方法。 您只需要做attrs.put("icon",pkg.applicationInfo.icon+""); 之所以有+""是因為pkg.applicationInfo.icon是整數,因此您需要先將其轉換為String,然后才能將其放入使用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM