| |||||||
Das Thema "Textdatei einlesen und Werte in den Spinner einfügen" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #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
| 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();
}
} MfG. |
| | |
| | #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
|
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. |
| | |
| | #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
|
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 |
| | |
| | #4 (permalink) | |
| Android Guru Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
| Zitat:
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 ) | |
| | |
| | #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
|
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++;
} |
| | |
| | #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
|
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();
}
}
} |
| | |
| | #7 (permalink) |
| Android Guru Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
|
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 ) |
| | |
| | #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
|
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.
|
| | |
| | #10 (permalink) |
| Android Experte Registriert seit: 05.02.2010
Beiträge: 609
Abgegebene Danke: 75
Erhielt 136 Danke für 119 Beiträge
|
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. ![]() |
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| 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 |