2012-06-28 12 views
4

與其特定相關的每種文件類型圖標如何在Android中獲取相應的文件圖標?

現在,如果我選擇somefilename.xxx然後我怎麼會能夠選擇與* .XXX,而不是未知的文件默認的圖標關聯的圖標。

原始的問題

我怎樣才能得到.txt.doc.png文件圖標?例如,現在我選擇filename.pdf,如何獲得filename.pdf圖標? 例如

File f = new File("filename.pdf"); 

我的文件名是filename.pdf。如何獲取這個文件圖標(Adobereader Icon)。

+1

你想要什麼?它不清楚。 – Praveenkumar

+0

是的,我認爲你已經足夠接近問題了,但我不明白。請嘗試重新聲明它。 – EGHDK

+0

等一下。我修改這個問題。 – Sekar

回答

2

我想首先要說的任何文件不包含它與他們一般圖標說,如果你沒有做辦公室安裝你贏了」 t獲取doc圖標或powerpoint圖標

所以它的系統工作,以這種方式

爲了實現自己的目標關聯的圖標到特定的文件類型,以便走強烈建議您包括您預計將使用的所有圖標,如果你選擇some.png 說檢查擴展並將png.ico與此文件圖標關聯

這樣做,您將不得不關聯每種類型的文件。

編輯1:

,你可以很容易找到的網頁的圖標添加到到你的繪製文件夾現在每個文件名根據擴展 這種方式,您可以提取擴展和設置的圖標實現你的目標

編輯2:

爲了實現自己的目標執行以下操作:

  1. 將所有圖標文件添加到您的res \ drawable文件夾中以便於設置所有 圖標文件名作爲其擴展名說明使用doc。PNGDOC 擴展for easyness

  2. 現在,所有的文件擴展名映射到你的圖標文件說,檢查文件 擴展名,然後像做以下操作:

字符串EXT =「東西「;

switch(ext)  
{  
case "doc":  
    image.setImageResource(R.drawable.doc);  
    break;  
case "exe":  
    image.setImageResource(R.drawable.exe); 
    break; 
default : 
    image.setImageResource(R.drawable.default);  
} 
+0

我使用自定義ListView列出了SD卡中的所有文件。我的第一列是File ICon,第二列是File Name。我成功查看了所有文件名。但每個文件都有不同的擴展名。如何根據擴展名獲取此係統文件圖標。 – Sekar

+0

查看編輯答案 – 2012-06-28 08:34:32

+0

是的。你的回答是正確的。但如何實現目標。因爲有很多擴展。如何將圖標設置爲文件類型。引導我。 – Sekar

4

嘗試使用PackageManager.queryIntentActivities

final Intent innt = new Intent(Intent.ACTION_VIEW); 
innt.setData(fileUri); 
innt.setType("application/pdf"); 

final List<ResolveInfo> matches = getPackageManager().queryIntentActivities(innt, 0); 
for (ResolveInfo match : matches) { 
    final Drawable icon = match.loadIcon(getPackageManager()); 
    final CharSequence label = match.loadLabel(getPackageManager()); 
} 
+0

我使用自定義'ListView'來列出SD卡中的所有文件。我的第一列是File ICon,第二列是File Name。我成功查看了所有文件名。但每個文件都有不同的擴展名。如何根據擴展名獲取此係統文件圖標。 – Sekar

+0

我想你誤解了OP說的話。他試圖獲取不是Android應用程序的文件圖標。 –

+0

@ user1474868:你得到什麼標籤? –

相關問題