2010-12-09 10 views
0

J'ai développé une application qui fonctionne parfaitement bien sur le simulateur mais lorsque j'essaie de l'exécuter sur le téléphone, l'application affiche une erreur java.io.FileNotException: res/drawable/divider_horizontal_dark.9 Je pensais que l'application manquait ce fichier (probablement le fichier système android) donc j'ai trouvé ce fichier ailleurs sur le web et je l'ai placé sous drawable mais en vain. l'application commet toujours des erreurs avec la même erreur qu'avant.Android n'a pas réussi à analyser le fichier PNG

aucune idée quel est le problème ici?

fichier xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_height="wrap_content" android:gravity="left|center" 
    android:layout_width="wrap_content" android:paddingBottom="5px" 
    android:paddingTop="5px" android:paddingLeft="5px" > 
    <ImageView android:id="@+id/linkImage" android:layout_width="wrap_content" 
     android:layout_height="fill_parent" android:layout_marginRight="6dip" 
     android:src="@drawable/icon" /> 
    <LinearLayout android:orientation="vertical" 
     android:layout_width="0dip" android:layout_weight="1" 
     android:layout_height="fill_parent"> 
     <TextView android:id="@+id/firstLineView" 
      android:layout_width="wrap_content" android:layout_height="wrap_content" 
      android:gravity="center" android:textColor="#FFFF00" android:text="first line title"></TextView> 

     <TextView android:id="@+id/secondLineView" 
      android:layout_width="wrap_content" android:layout_height="wrap_content" 
      android:text="second line title" android:layout_marginLeft="10px" android:gravity="center" 
      android:textColor="#0099CC"></TextView> 

    </LinearLayout> 
</LinearLayout> 

et la partie du code où les application se bloque pendant le chargement .. on pouvait voir qu'il n'y a pas où je l'ai utilisé le fichier divider_horizontal_dark.9.png

public View getView(int position, View convertView, ViewGroup parent){ 
      ViewHolder holder; 
      if(convertView == null){ 
       convertView = mInflater.inflate(R.layout.listview,null); 
       holder = new ViewHolder(); 
       holder.firstLine = (TextView) convertView.findViewById(R.id.firstLineView); 
       holder.secondLine = (TextView) convertView.findViewById(R.id.secondLineView); 
       holder.imageView = (ImageView) convertView.findViewById(R.id.linkImage); 
       //holder.checkbox = (CheckBox) convertView.findViewById(R.id.star); 
       holder.firstLine.setFocusable(false); 
       holder.secondLine.setFocusable(false); 
       holder.imageView.setFocusable(false); 
       //holder.checkbox.setFocusable(false); 
       convertView.setTag(holder); 
      }else{ 
       holder = (ViewHolder) convertView.getTag(); 
      } 
..... 

semble qu'ils ont résolu le problème http://code.google.com/p/transdroid/issues/detail?id=14

mais je ne l'obtenir en quelque sorte

+0

Comment essayez-vous de l'ouvrir. Comment sommes-nous censés aider sans poster de code? – Falmarri

+0

je suis désolé mais quelle partie du code devrais-je poster ... puisque je n'appelle pas ce fichier n'importe où, pouvez-vous me dire quelle partie du code que vous voulez que je publie –

Répondre

0

Vous devez utiliser un ID pour la ressource au lieu d'essayer d'ouvrir le fichier en lui donnant le chemin d'accès (dans le code source). Il y a beaucoup de documentation Android pour expliquer comment faire ...

http://developer.android.com/guide/topics/resources/providing-resources.html

http://developer.android.com/guide/topics/resources/accessing-resources.html

+0

bien ... je ne l'ai pas utilisé fichier dans mon code ... j'ai d'autres fichiers que j'ai placés dans le dossier drawable et les fichiers sont ramassés très bien. mais ce fichier je crois est récupéré/créé à partir du système et je n'ai aucun contrôle sur cela. Je pense que c'est le séparateur de ligne dans la liste ... des suggestions? –

+0

Pouvez-vous poster le code que vous utilisez qui échoue? Cela aidera à trouver quel est le problème ... En fonction de l'erreur, on dirait que vous essayez d'accéder au fichier via le chemin (ce qui expliquerait pourquoi cela peut aussi fonctionner avec l'émulateur). – Matthieu

+0

je suis désolé, mais quelle partie du code devrais-je poster ... puisque je n'appelle pas ce fichier partout, pouvez-vous me dire quelle partie du code que vous voulez que je publie –

Questions connexes