Ich habe eine Listenansicht mit bearbeiten Textfelder wie soWie kann ich Daten von einem Editiertext in einer Listview in die Datenbank bringen?
http://i.stack.imgur.com/j9mxK.png
und im Grunde, was ich will ist in dem Bearbeiten von Text für das Bit tun, um in die Datenbank zu setzen. hier ist mein Code so weit
Cursor data = database.query ("Namen", Felder, null, null, null, null, null);
dataSource = new SimpleCursorAdapter(this, R.layout.row, data, fields,
new int[] { R.id.first, R.id.entry2 });
ListView view = getListView();
setListAdapter(dataSource);
editText1 = (EditText) findViewById(R.id.entry2);
editText1.requestFocus();
OnKeyListener myKeyListener = new OnKeyListener() {
@Override
public boolean onKey(View arg0, int KEYCODE_ENTER, KeyEvent arg2) {
Log.v("Me","Something happened :: ");
ContentValues values = new ContentValues();
values.put("last", editText1.getText().toString());
database.insert("names", null, values);
return false;
}
};
editText1.setOnKeyListener(myKeyListener);
}
und ich bekomme eine Null-Zeiger-Ausnahme in der letzten Zeile "editText1.setOnKeyListener (myKeyListener);" also denke ich nicht, dass es tatsächlich den Bearbeitungstext aus dem row.xml-Layout findet.
also wie mache ich es so dass ich in den bearbeitungstext in der listeansicht stopfen kann und es dann in die datenbank setzen, wenn enter getroffen wird?
im Grunde, was ich tun möchte, ist ein Personenname und dann in der Lage sein, in einen Wert neben es einzugeben, die dann in die Datenbank mit dem Namen gehen würde. Ich habe herausgefunden, dass es nie wirklich in die Zeile in der Listenansicht gegangen ist (es ist nur in der Kopfzeile passiert). Also meine Frage ist mehr, wie mache ich es so, wenn ich etwas in den Text in einer Listenansicht Zeile eingeben und drücken Sie die Eingabetaste tut es etwas (d. h. in die Datenbank gehen) es scheint nur über das Onkeylistener Bit zu überspringen – kennie