Z
ZegativeNero
Neues Mitglied
- 0
Hallo Leute,
ich hänge gerade an folgendem Problem:
und zwar möchte ich für mein App einen eigenen kleinen Browser erstellen welcher von der Ansicht ähnlich wie der ES-FileExplorer aufgebaut ist,
d.h. eine Tabelle mit n-Zeilen und 3 Spalten.
In etwa so:
File1 File2 File3
File4 File5 File6
File7
Um diese Tabelle dynamisch zu erzeugen benötige ich meines Wissens nach
"ineinander verschachtelte" For-Schleifen.
Diese habe ich bisher wie im unten angezeigten Codeauszug umgesetzt.
Das Problem, welches jetzt noch besteht und wo ich nicht mehr weiter weiß:
Wenn nur eine Datei oder ein Ordner sich im Ordner befinden, wird dieser nicht angezeigt ?!?
Sind es mehr als eine Datei / ein Ordner funktioniert es.
Weiß jemand Rat?
ich hänge gerade an folgendem Problem:
und zwar möchte ich für mein App einen eigenen kleinen Browser erstellen welcher von der Ansicht ähnlich wie der ES-FileExplorer aufgebaut ist,
d.h. eine Tabelle mit n-Zeilen und 3 Spalten.
In etwa so:
File1 File2 File3
File4 File5 File6
File7
Um diese Tabelle dynamisch zu erzeugen benötige ich meines Wissens nach
"ineinander verschachtelte" For-Schleifen.
Diese habe ich bisher wie im unten angezeigten Codeauszug umgesetzt.
Das Problem, welches jetzt noch besteht und wo ich nicht mehr weiter weiß:
Wenn nur eine Datei oder ein Ordner sich im Ordner befinden, wird dieser nicht angezeigt ?!?
Sind es mehr als eine Datei / ein Ordner funktioniert es.
Weiß jemand Rat?
Code:
TableLayout table = (TableLayout)findViewById(R.id.filestable);
table.removeAllViews();
TableRow Trow = null;
TextView textView;
int cells=files_array.size(); //Bestimmt die Anzahl der insgesammt benötigten Zellen
int k = (cells/3); //Anzahl der benötigten Zeilen (bei 3 Spalten)
if(cells%3 >0){ k = k+1; } //Addiert eine zusätzliche Zeile, falls bei der vorangegangenen Teilung ein Rest besteht
int o = 0; //Variable um später den Index festzulegen
for (int i = 0; i < k; i++) //Schleife um die Zeilen zu erzeugen
{
Trow = new TableRow(getApplicationContext());
for (int j = 0; j < 3; j++) //Füllt jede Zeile mit max 3 Werten
{
o++; //Indexvariable wird aufaddiert
if (o<=cells){ //Prüfung ob Index kleiner als die benötigten Zellen ist
Boolean t = checkfiles_array.get(o-1); //Variable welche übermittelt ob es sich um eine Datei oder einen Ordner handelt
if ( t == true){
LinearLayout cell = new LinearLayout(this);
cell.setOrientation(LinearLayout.VERTICAL);
cell.setId(o-1); //hier bekomme ich leichte Bauchschmerzen aber naja... bisher geht es nicht anders
cell.setClickable(true);
cell.setOnClickListener(this);
cell.setOnLongClickListener(this);
if(filename_array.get(o-1).endsWith(".txt")){
ImageView pImg1 = new ImageView(Filebrowser.this);
pImg1.setImageResource(R.drawable.txt_file_icon);
cell.addView(pImg1);
}
undsoweiterundsofort