2016-07-25 5 views
0

입니다. 내 앱에서는 ArrayList에 앱 아이콘 목록을 저장하고 싶습니다. 여기Drawable 변수를 android에 저장하는 데 사용되는 ArrayList 유형은

for(String a:array){ //array contains list of appplications package name 
    try{ 
     Drawable icon=getPackageManager().getApplicationIcon(a); 
    } 
    catch (PackageManager.NameNotFoundException e){ 
     Toast.makeText(MainActivity.this,"error",Toast.LENGTH_SHORT).show(); 
    } 
} 

, 나는이 ArrayListicon 변수에서 점점 모든 응용 프로그램 아이콘을 저장할 : 여기 응용 프로그램 아이콘 이미지를 얻을 수있는 곳에서 내 코드입니다. 하지만 내 아이콘이 런타임에 생성되기 때문에 모든 앱 아이콘 이미지를 ArrayList에 저장하는 방법. 그럼 Drawable icons을 ArrayList에 추가하려면 어떻게해야합니까?

답변

0
다음과 같이 당신은 당신의 자신의 ArrayList<Drawable>를 작성하고 채울 수 있습니다

:

final List<Drawable> icons = new ArrayList<Drawable>(); 
final PackageManager mgr = getPackageManager(); 
for (final String app : array) { 
    try { 
     final Drawable icon = mgr.getApplicationIcon(app); 
     icons.add(icon); 
    } catch (final PackageManager.NameNotFoundException ex) { 
     Toast.makeText(MainActivity.this, "error", Toast.LENGTH_SHORT).show(); 
    } 
} 
/* now we have our icon Drawables in a list */ 
+0

괜찮 았어 코드가 correctable.Now Drawable ArrayList.One 더 많은 질문에 아이콘을 저장할 수있는 ListView를 통해 그 아이콘을 표시 할 수있는 listView.So와 그 Drawable Arraylist를 어떻게 사용할 수 있습니까? – Rachan

0

아래 코드 ..., 당신은 당신이 ArraList를 사용 만 드로어 블을 저장할 수 있습니다 (패키지 이름 인)는 키 드로어 블을 검색/

HashMap<String,Drawable> drawableList = new HashMap<String,Drawable>(); 
for(String a:array){ //array contains list of appplications package name 
    try{ 
     Drawable icon=getPackageManager().getApplicationIcon(a); 
     drawableList.put(a, icon); 
    } 
    catch (PackageManager.NameNotFoundException e){ 
     Toast.makeText(MainActivity.this,"error",Toast.LENGTH_SHORT).show(); 
    } 
} 

를 저장하거나 수있는이 방법을 시도해보십시오

ArrayList<Drawable> drawableList = new ArrayList<Drawable>(); 
for(String a:array){ //array contains list of appplications package name 
    try{ 
     Drawable icon=getPackageManager().getApplicationIcon(a); 
     drawableList.add(icon); 
    } 
    catch (PackageManager.NameNotFoundException e){ 
     Toast.makeText(MainActivity.this,"error",Toast.LENGTH_SHORT).show(); 
    } 
} 
+0

감사의를 하시다을 rking :) – Rachan

관련 문제