Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Textdatei einlesen und Werte in den Spinner einfügen

Das Thema "Textdatei einlesen und Werte in den Spinner einfügen" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 16.11.2011, 00:44   #1 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 31.10.2011
Beiträge: 85
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard Textdatei einlesen und Werte in den Spinner einfügen

Hallo Android Freunde,
ich wollte eine txt Datei einlesen lassen und die Werte in den Spinner einfügen damit ich dann eins von den auswählen kann.
Dazu habe ich folgende Klasse gebaut:
Code:
public class EinstellungenActivity extends Activity {
    private ArrayAdapter<CharSequence> adapter2;
    private Spinner reifenmarken;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.einstellungen);

        reifenmarken = (Spinner) findViewById(R.id.sr_marke);
        try{
            FileReader fileReader;
            String[] y = new String[40];
            fileReader = new FileReader("test.txt");

            BufferedReader bufferedReader = new BufferedReader(fileReader);
            String x = bufferedReader.readLine();
            int anz = 0;

            while (x != null) {

                x = bufferedReader.readLine();
                anz++;
                y[anz] = x;
            }
            bufferedReader.close();
            adapter2 = new ArrayAdapter<CharSequence>(this,
                    android.R.layout.simple_spinner_item, y);
         adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            reifenmarken.setAdapter(adapter2);
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
bei der Ausführung wird kein Fehler ausgegeben aber der Inhalt der Datei wird im Spinner nicht angezeigt.
MfG.
zblack ist offline   Mit Zitat antworten
Alt 16.11.2011, 07:42   #2 (permalink)
Fortgeschrittenes Mitglied

Modell: HTC Sensation

Registriert seit: 31.08.2011
Beiträge: 390
Abgegebene Danke: 25
Erhielt 59 Danke für 57 Beiträge
Standard AW: Textdatei einlesen und Werte in den Spinner einfügen

ich hab mit CharSequence noch nie gearbeitet und weiß nicht, inwieweit das kompatibel mit deinem String-Array ist. aber wenn man ein String-Array nimmt, sollte man das auch in den Adapter stecken.

also kannste zum Testen mal adapter2 = new ArrayAdapter<String> versuchen, vielleicht liegts ja daran.
Tom299 ist offline   Mit Zitat antworten
Alt 16.11.2011, 11:01   #3 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 31.10.2011
Beiträge: 85
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard AW: Textdatei einlesen und Werte in den Spinner einfügen

naja, wenn ich einfach String [] x = {"fd", "fdkjfdkfjd", "fdkjfdkjfdkjfdkjgfhj"} nehme und dann den string x in den adapter einsetze
also so:
adapter2 = new ArrayAdapter<CharSequence>(this, android.R.layout.simple_spinner_item, x); adapter2.setDropDownViewResource(android.R.layout. simple_spinner_dropdown_item); reifenmarken.setAdapter(adapter2);

dann funktioniert es. Wenn ich die Datei einlese, funktioniert es aber nicht
zblack ist offline   Mit Zitat antworten
Alt 16.11.2011, 11:08   #4 (permalink)
Android Guru

Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
Standard AW: Textdatei einlesen und Werte in den Spinner einfügen

Zitat:
String x = bufferedReader.readLine();
int anz = 0;

while (x != null) {

x = bufferedReader.readLine();
anz++;
y[anz] = x;
}
das kommt mir irgendwie falsch vor

du machst ein readline
checkst auf null und machst gleich wieder ein readline

somit wird die 1. zeile nie gelesen. ist das gewollt ?

dazu wird auch in y[0] niemals was geschrieben. du beginnst nämlich mit 1
__________________
App Entwicklung
Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD )
swordi ist offline   Mit Zitat antworten
Alt 16.11.2011, 11:16   #5 (permalink)
Fortgeschrittenes Mitglied

Modell: HTC Sensation

Registriert seit: 31.08.2011
Beiträge: 390
Abgegebene Danke: 25
Erhielt 59 Danke für 57 Beiträge
Standard AW: Textdatei einlesen und Werte in den Spinner einfügen

also das anz++ muß hinter die zuweisung y[anz]=x sonst fängst du mit y[1] an und nicht mit y[0].

außerdem wird dein x in der schleife nicht auf null abgefragt und du machst die zuweisung.

also ich würd die schleife so schreiben:
Code:
    while ((x = bufferedReader.readLine()) != null) {
        y[anz] = x;
        anz++;
    }
Tom299 ist offline   Mit Zitat antworten
Alt 16.11.2011, 12:52   #6 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 31.10.2011
Beiträge: 85
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard AW: Textdatei einlesen und Werte in den Spinner einfügen

hmm, es funktioniert immer noch nicht.
der code sieht jetzt so aus, aber im spinner is immer noch nix.
die schleife habe ich verändert .
Code:
public class EinstellungenActivity extends Activity {

    private ArrayAdapter<String> adapter2;
    private Spinner reifenmarken;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.einstellungen);

        reifenmarken = (Spinner) findViewById(R.id.sr_marke);
        
        String line;
        try{
            FileReader fileReader;
            String[] y = new String[40];
            fileReader = new FileReader("test.txt");

            BufferedReader bufferedReader = new BufferedReader(fileReader);
            String x;
            int anz = 0;

            while ((x = bufferedReader.readLine()) != null) {
                y[anz] = x;
                anz++;
            }
            bufferedReader.close();
            adapter2 = new ArrayAdapter<String>(this,
                    android.R.layout.simple_spinner_item, y);
         adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            reifenmarken.setAdapter(adapter2);
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }     
    }
}
wo soll die Datei eigentlich liegen ? ich habe die jetzt einfach in den Projekt gelegt. da wo die ManifestDatei liegt. Obwohl wenn die Datei nich da wäre, dann sollte eigentlich eine Fehlermeldung kommen, kommt aber nicht.
zblack ist offline   Mit Zitat antworten
Alt 16.11.2011, 12:57   #7 (permalink)
Android Guru

Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
Standard AW: Textdatei einlesen und Werte in den Spinner einfügen

hmm hast überhaupt was in deiner test.txt?

denn da hätte es vorher schon abstürzen sollen, wenn da überhaupt was gelesen werden würde.

check das nochmal
__________________
App Entwicklung
Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD )
swordi ist offline   Mit Zitat antworten
Alt 16.11.2011, 13:04   #8 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 31.10.2011
Beiträge: 85
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard AW: Textdatei einlesen und Werte in den Spinner einfügen

Zitat:
Zitat von swordi Beitrag anzeigen
hmm hast überhaupt was in deiner test.txt?

denn da hätte es vorher schon abstürzen sollen, wenn da überhaupt was gelesen werden würde.

check das nochmal
in der datei ist das drin :
hallo
wie
gehts
dir
aaaaa

genau so geschrieben
zblack ist offline   Mit Zitat antworten
Alt 16.11.2011, 13:11   #9 (permalink)
Fortgeschrittenes Mitglied

Modell: HTC Sensation

Registriert seit: 31.08.2011
Beiträge: 390
Abgegebene Danke: 25
Erhielt 59 Danke für 57 Beiträge
Standard AW: Textdatei einlesen und Werte in den Spinner einfügen

und hast du mal debuggt, ob du die datei auch wirklich liest? zumindest das lesen und zuweisen in deine x-variable müßte ja stimmen.
Tom299 ist offline   Mit Zitat antworten
Alt 16.11.2011, 13:18   #10 (permalink)
Android Experte
 
Benutzerbild von DieGoldeneMitte

Registriert seit: 05.02.2010
Beiträge: 609
Abgegebene Danke: 75
Erhielt 136 Danke für 119 Beiträge
Standard AW: Textdatei einlesen und Werte in den Spinner einfügen

Vielleicht ist die Liste ja sogar ganz normal da und zeigt nur die vielen null Strings vom Ende des Arrays y an.
Denn 40 Zeilen hat deine test.txt ja offenbar nicht.
__________________
Kein Support via PN/eMail. Bitte das Forum benutzen - dort haben alle etwas davon.
Bei Entwicklerfragen zu abstürzenden Apps bitte immer die Ausgabe von LogCat posten.
Tipp: Zum "Danke" sagen gibt es einen Button.
DieGoldeneMitte ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
ALLE Kontakte in den Routenplaner einfügen? Milestone92 Android Allgemein 0 03.09.2011 16:05
Thai Fonts in den Systemordner einfügen hertharules Root / Hacking / Modding für Samsung Galaxy S 4 07.05.2011 20:34
Programm in den Autostart einfügen [gelöst] Ente_Lila Android Allgemein 4 13.02.2011 12:19
Werte aus AutocompleteTextview und Spinner weiterreichen donhenne Android App Entwicklung 9 20.01.2011 13:51
Textdatei auslesen und in Widget darstellen Peleke Android App Entwicklung 0 11.12.2010 17:30




Du liest gerade: "Textdatei einlesen und Werte in den Spinner einfügen" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.