2013-07-01 2 views
0

다음 코드를 사용하여 설치된 앱 아이콘에 대한 목록을 가져 오려고하지만 드로어블 경로 목록 만 표시하지만 아이콘은 표시하지 않습니다 (예 : android.graphics.drawable.BitmapDrawable @ 417530c8),목록에 설치된 앱 아이콘을 얻는 방법

누군가 내가 잘못하고있는 것을 보여줄 수 있습니까?

감사

public class MainActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    ListView appList = (ListView) findViewById(R.id.appList); 

    ArrayList<Drawable> cacheArrayList = new ArrayList<Drawable>(); 

    ArrayAdapter<Drawable> aa = new ArrayAdapter<Drawable>(this, 
      android.R.layout.simple_list_item_1, cacheArrayList); 

    appList.setAdapter(aa); 

    PackageManager pm = getPackageManager(); 
    List<ApplicationInfo> packages = pm 
      .getInstalledApplications(PackageManager.GET_META_DATA); 
    for (ApplicationInfo packageInfo : packages) { 
     // cacheArrayList.add((String) packageInfo.loadLabel(pm)); 
     cacheArrayList.add(packageInfo.loadIcon(pm)); 

    } 

} 

} 기본적으로

답변

0

ArrayAdapter 만 기본으로되는 배열의 각 요소에 대해 toString를 호출합니다. ImageView도 사용하려면 메서드를 재정의하는 ArrayAdapter의 하위 클래스를 작성해야합니다. ImageView이 포함 된 레이아웃을 사용하고 getView을 오버라이드하여 Drawable을 배열에서 전달하고 setImageDrawable을 호출하십시오.

관련 문제