Hallo zusammen,
ich hab eine SQLite DB
ich möchte über einen LongClick auf einen Eintrag von der Listview einen Alertdialog öffnen, wo ich dann die Daten bearbeiten kann. Ändern funktioniert im Alertdialog ohne probleme nur sobald ich auf hinzufügen geh passiert gar nix.
es wird der Eintrag so angezeigt wie er davor war.
ich find den fehler einfach nicht
vielen dank schonmal
PHP
listView.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
final View EditView = getLayoutInflater().inflate(R.layout.add, null);
Cursor cursor = (Cursor) arg0.getItemAtPosition(arg2);
idCode = Integer.parseInt(cursor.getString(cursor.getColumnIndexOrThrow("_id")));
plus_minusCode = cursor.getString(cursor.getColumnIndexOrThrow("plus_minus"));
betragCode = Double.parseDouble(cursor.getString(cursor.getColumnIndexOrThrow("betrag")));
notizCode = cursor.getString(cursor.getColumnIndexOrThrow("notiz"));
datumCode = cursor.getString(cursor.getColumnIndexOrThrow("datum"));
final EditText add_betrag = (EditText)EditView.findViewById(R.id.edt_add_betrag);
final EditText add_notiz = (EditText)EditView.findViewById(R.id.edt_add_notiz);
final CheckBox chk_bx = (CheckBox)EditView.findViewById(R.id.chk_bx);
rd_Group = (RadioGroup)EditView.findViewById(R.id.rd_group);
add_betrag.setText(String.valueOf(betragCode));
new_betrag = Double.parseDouble(add_betrag.getText().toString());
new_datum = String.valueOf(datumCode);
if (String.valueOf(datumCode).equals(""))
new_datum = tvChangedDate.getText().toString();
if (String.valueOf(notizCode).equals("")||(String.valueOf(notizCode).equals("null"))){
new_notiz = "keine Notiz vorhanden";
} else {
add_notiz.setText(String.valueOf(notizCode));
}
new_notiz = add_notiz.getText().toString();
if (plus_minusCode.equals("+")){
rd_Group.check(R.id.rd_btn_plus);
} else if ((plus_minusCode.equals("-"))) {
rd_Group.check(R.id.rd_btn_minus);
} else {
Toast.makeText(getApplicationContext(), "Falsche Eingabe", Toast.LENGTH_SHORT).show();
}
int selectedId = rd_Group.getCheckedRadioButtonId();
rd_Button = (RadioButton) findViewById(selectedId);
switch(selectedId)
{
case R.id.rd_btn_plus:
new_plus_minus = "+";
break;
case R.id.rd_btn_minus:
new_plus_minus = "-";
break;
}
chk_bx.setVisibility(View.VISIBLE);
new AlertDialog.Builder(LvCursorAdapter.this)
.setTitle(R.string.bearbeiten)
.setView(EditView)
.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if (chk_bx.isChecked() == false)
{
eintragUpdate();
} else {
new AlertDialog.Builder(LvCursorAdapter.this)
.setTitle(R.string.delete)
.setMessage(R.string.delete_one)
.setPositiveButton(R.string.ja, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dbHelper.deleteEintraege(idCode);
displayListView();
Toast.makeText(getApplicationContext(),R.string.delete_done, Toast.LENGTH_SHORT).show();
}
})
.setNegativeButton(R.string.nein, null)
.show();
displayListView();
}
}
})
.setNegativeButton(R.string.abbrechen, null)
.show();
displayListView();
return true;
};
});
}
public void eintragUpdate() {
dbHelper.updateEintraege(new_plus_minus, new_datum, new_betrag, new_notiz, null);
displayListView();
}
Alles anzeigen