2013-06-27 3 views
0

Je suis en train d'écrire une application dans laquelle j'ai besoin de lister tous les fichiers pdf présents dans un forlder particulier.Remplir la liste avec des noms de fichiers

Cependant, pour l'instant j'essaie simplement de lister tous les fichiers présents dans le dossier brut et de remplir un ListView.

C'est ce que j'ai jusqu'à présent:

Fields[] fields; 
ListView list; 
String[] sample; 
fields=R.raw.class.getFields();int count=0; 
     for(Field f : fields) 
     { 
        sample[count]=f.getName();count++; 
     } 

      list=getListView(); 
      list.setChoiceMode(ListView.CHOICE_MODE_SINGLE); 
      setListAdapter(new ArrayAdapter<String>(this, 
      android.R.layout.simple_list_item_checked, sample)); 

Toutefois, l'application continue à se briser quand je le démarre. Je ne peux pas comprendre où je vais mal.

Quelqu'un peut-il m'aider?

le journal:

06-19 08:52:20.352: E/AndroidRuntime(4955): FATAL EXCEPTION: main 
06-19 08:52:20.352: E/AndroidRuntime(4955): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.magazine/com.example.magazine.MainActivity}: java.lang.NullPointerException: storage == null 
06-19 08:52:20.352: E/AndroidRuntime(4955):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180) 
06-19 08:52:20.352: E/AndroidRuntime(4955):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
06-19 08:52:20.352: E/AndroidRuntime(4955):  at android.app.ActivityThread.access$600(ActivityThread.java:141) 
06-19 08:52:20.352: E/AndroidRuntime(4955):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
06-19 08:52:20.352: E/AndroidRuntime(4955):  at android.os.Handler.dispatchMessage(Handler.java:99) 
06-19 08:52:20.352: E/AndroidRuntime(4955):  at android.os.Looper.loop(Looper.java:137) 
06-19 08:52:20.352: E/AndroidRuntime(4955):  at android.app.ActivityThread.main(ActivityThread.java:5041) 
06-19 08:52:20.352: E/AndroidRuntime(4955):  at java.lang.reflect.Method.invokeNative(Native Method) 
06-19 08:52:20.352: E/AndroidRuntime(4955):  at java.lang.reflect.Method.invoke(Method.java:511) 
06-19 08:52:20.352: E/AndroidRuntime(4955):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
06-19 08:52:20.352: E/AndroidRuntime(4955):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
06-19 08:52:20.352: E/AndroidRuntime(4955):  at dalvik.system.NativeStart.main(Native Method) 
06-19 08:52:20.352: E/AndroidRuntime(4955): Caused by: java.lang.NullPointerException: storage == null 
06-19 08:52:20.352: E/AndroidRuntime(4955):  at java.util.Arrays$ArrayList.<init>(Arrays.java:38) 
06-19 08:52:20.352: E/AndroidRuntime(4955):  at java.util.Arrays.asList(Arrays.java:154) 
06-19 08:52:20.352: E/AndroidRuntime(4955):  at android.widget.ArrayAdapter.<init>(ArrayAdapter.java:128) 
06-19 08:52:20.352: E/AndroidRuntime(4955):  at com.example.magazine.MainActivity.onCreate(MainActivity.java:44) 
06-19 08:52:20.352: E/AndroidRuntime(4955):  at android.app.Activity.performCreate(Activity.java:5104) 
06-19 08:52:20.352: E/AndroidRuntime(4955):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 
06-19 08:52:20.352: E/AndroidRuntime(4955):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 
06-19 08:52:20.352: E/AndroidRuntime(4955):  ... 11 more 

Répondre

2

Vous devez initialiser tableau de chaînes avant:

Field[] fields = R.raw.class.getFields(); 
ListView list; 
String sample[] = new String[R.raw.class.getFields().length]; 
int count=0; 
for(Field f : fields) 
{ 
    sample[count]=f.getName(); 
    count++; 
} 

list=getListView(); 
list.setChoiceMode(ListView.CHOICE_MODE_SINGLE); 
setListAdapter(new ArrayAdapter<String>(this, 
android.R.layout.simple_list_item_checked, sample)); 
+0

oh lol merci. Je ne peux pas croire que j'ai raté ça. – drarkayl

Questions connexes