Ich habe einen Ordner in assets
Ordner mit dem Namen s1
. Es gibt etwa hundert Textdatei darin. Ich möchte zählen, wie viele Textdateien sich in diesem Ordner befinden.Zählen von Dateien in Assets Unterordner
Die Anwendung abstürzt mit diesem Fehler starten bei: `
Caused by: java.lang.NullPointerException: Attempt to get length of null array
Hier ist der Code in MainActivity
:
Integer fileCount = 0;
fileCount = Integer.valueOf(new File("./assets/s1/").listFiles().length);
for(int i=0;i<fileCount;i++) {
Button btn = new Button(this);
btn.setId(i+1);
btn.setText("button "+(i+1));
btn.setLayoutParams(lprams);
final int index = i;
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.i("TAG", "The index is" + index);
}
});
dynamicview.addView(btn);
}
Wie das lösen?
Haben Sie versucht zu debuggen? Zum Beispiel, separate Methodenaufrufe der 2. Zeile, und schauen was ist der Wert von 'new File (" .. ")', dann der Wert von '.listFiles()' und so weiter? –
Sie können die Dateiklasse nicht für Dateien in Assets verwenden. Und der benutzte Pfad ist auch falsch. Sie googlen besser, wie Sie eine Datei aus Assets lesen können. Oder wie man sie auflistet. – greenapps