Kurze Allgemeinbeschreibung:
Ich "spiel" mit einem Android Gerät mit Barcode-Leser herum.
Ich hab eine Erfassen.xml, in der oben die Barcodes in eine EditTextBox eingelesen werden und darunter in einer ListView ausgegeben werden sollen. Am Ende soll das das in der ListView steht, auf Buttonklick, in eine Datei gespeichert werden. (so weit bin ich aber noch nicht)
Ich hänge daran, dass die Barcodes in die ListView geschrieben werden. Problematisch ist schon, wenn man 2 Barcodes hintereinander scannt, die einfach hintereinander weg geschrieben werden.
Ich hab diverse Lösungsansätze probiert
Das war der erste (noch ohne ListView als Ausgabe, sondern EditTextBox als Ausgabefeld)
public void onTextChanged(CharSequence s, int start, int before, int count) {
// input = barcode.getText().toString();// ausgabe.setText(input.toString());
} @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) {
} @Override public void afterTextChanged(Editable s) { // TODO Automatisch generierter Methodenstub } }); }
Da eben das Problem, das Barcodes einfach hintereinander weggeschrieben werden. Dann kam ich auf die Idee mit dem Array und hab da folgendes gebastelt:
public void onTextChanged(CharSequence s, int start, int before, int count) {
FileInputStream fis = openFileInput(input); try { String line, temp=""; ArrayList<String> barcodeinput = new ArrayList<String>(); int i=0; DataInputStream dis = new DataInputStream(fis); while((line = dis.readLine()) != null){ i++; if(i%2 == 0){ temp=temp+"\n"+line; barcodeinput.add(temp); temp=""; } temp=line; }
fis.close(); ListAdapter ladapt = new ArrayAdapter<String>(Erfassen.this, android.R.layout.simple_list_item_1, barcodeinput); ListView lv = (ListView) findViewById(R.id.listView1); lv.setAdapter(ladapt); } finally {} } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) {
} @Override public void afterTextChanged(Editable s) { // TODO Automatisch generierter Methodenstub } }); }
Jedoch krieg ich im o.g. Ausschnitt folgende Fehlermeldung:
Der Konstruktor ArrayAdapter<String>(new TextWatcher(){}, int, ArrayList<String>) ist nicht definiert (undefined)
Lt. Google hab ich schon probiert, "this" durch "myActivity.this" zu ersetzen. Dann ist der Fehler zwar weg, jedoch schlagen dann
FileInputStream fis = openFileInput(input);
while ((line = dis.readLine()) != null)
fis.close();
alarm:
openFileInput(input) meldet Nicht behandelter Ausnahmebedingungstyp (exception type) FileNotFoundException
Die beiden anderen warnen mit: Nicht behandelter Ausnahmebedingungstyp (exception type) IOException
Kann jemand weiter helfen?
Oder in ich da auf komplett falschem Fuß?