Hi Leute ich bin neu hier,
ich muss einzelne zeilen bzw items aus der Listview löschen können. Diese müssen ebenfalls aus der Datenbank entfernt werden. Ich würde mich freuen wenn ihr mir weiterhelfen könntet:
Meine MainActivity:
Java
public class Scrollbook extends Activity {
SqlHandler sqlHandler;
TextView gesamteinnahmen;
TextView gesamtausgaben;
TextView gewinn;
ListView lvCustomList;
EditText etEinnahmen, etAusgaben, etDatum;
ImageButton btnadd;
List<Float> myList = new ArrayList<Float>();
List<Float> myList2 = new ArrayList<Float>();
ImageButton startBtn;
AutoCompleteTextView et_vorgang;
TextView count;
String[] Vorgangliste={"Tank","Barzahlung","Bankeinzahlung","Reperatur","Diesel","Benzin","Privat","Sonstiges"};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_scrollbook);
gesamteinnahmen = (TextView) findViewById(R.id.tVgesamtEinnahmen);
gesamtausgaben= (TextView) findViewById(R.id.tvgesamtausgaben);
gewinn= (TextView) findViewById(R.id.tvgewinn);
lvCustomList = (ListView) findViewById(R.id.lv_custom_list);
et_vorgang = (AutoCompleteTextView) findViewById(R.id.et_vorgang);
final ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,Vorgangliste);
et_vorgang.setAdapter(adapter);
et_vorgang.setThreshold(1);
etEinnahmen = (EditText) findViewById(R.id.et_einnahmen);
etAusgaben = (EditText) findViewById(R.id.et_ausgaben);
etDatum = (EditText) findViewById(R.id.et_datum);
btnadd = (ImageButton) findViewById(R.id.btn_add);
sqlHandler = new SqlHandler(this);
startBtn = (ImageButton) findViewById(R.id.sendEmail);
showList();
count = (TextView)findViewById(R.id.tvcount);
animateTextView(0,5200,count);
Utility.setListViewHeightBasedOnChildren(lvCustomList);
//EMAIL VERSENDEN
startBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
sendEmail();
}
});
//LISTE FÜLLEN
btnadd.setOnClickListener(new OnClickListener() {
@SuppressLint("ShowToast")
@Override
public void onClick(View v) {
String name = et_vorgang.getText().toString();
String einnahmen = etEinnahmen.getText().toString();
String ausgaben = etAusgaben.getText().toString();
String datum = etDatum.getText().toString();
if (TextUtils.isEmpty(name)) {et_vorgang.setError("Das Feld ist leer");return;}
else if (TextUtils.isEmpty(einnahmen)) {etEinnahmen.setError("Das Feld ist leer");return;
} else if (TextUtils.isEmpty(ausgaben)) {etAusgaben.setError("Das Feld ist leer");return;
} else if (TextUtils.isEmpty(datum)) {etDatum.setError("Das Feld ist leer");return;
} else {
Toast.makeText(Scrollbook.this,"Daten wurden erfolgreich gespeichert", Toast.LENGTH_SHORT).show();
String query = "INSERT INTO PHONE_CONTACTS(name,einnahmen,ausgaben,datum) values " +
"('" + name + "','" + einnahmen +"','" + ausgaben + "','" + datum + "')";
sqlHandler.executeQuery(query);
showList();
et_vorgang.setText("");
etEinnahmen.setText("");
etAusgaben.setText("");
etDatum.setText("");
}
}
});
}
public void animateTextView(float initialValue, float finalValue, final TextView textview) {
ValueAnimator valueAnimator = ValueAnimator.ofFloat(initialValue, finalValue);
valueAnimator.setDuration(1500);
valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
count.setText(valueAnimator.getAnimatedValue().toString());
}
});
valueAnimator.start();
}
//LISTE FÜLLEN
private void showList() {
final ArrayList contactList = new ArrayList();
contactList.clear();
String query = "SELECT * FROM PHONE_CONTACTS";
Cursor c1 = sqlHandler.selectQuery(query);
if (c1 != null && c1.getCount() != 0) {
if (c1.moveToFirst()) {
do {
final ContactListItems contactListItems = new ContactListItems();
contactListItems.setNr(c1.getString(c1.getColumnIndex("nr")));
contactListItems.setName(c1.getString(c1.getColumnIndex("name")));
contactListItems.setEinnahmen(c1.getString(c1.getColumnIndex("einnahmen")));
contactListItems.setAusgaben(c1.getString(c1.getColumnIndex("ausgaben")));
contactListItems.setDatum(c1.getString(c1.getColumnIndex("datum")));
contactList.add(contactListItems);
float gesamtein= Float.parseFloat((contactListItems.getEinnahmen()));
float gesamtaus= Float.parseFloat(contactListItems.getAusgaben());
myList.add(gesamtein);
myList2.add(gesamtaus);
} while (c1.moveToNext());
}
}
c1.close();
DecimalFormat f = new DecimalFormat("#0.00");
float total = 0;
for (Float i : myList) {
total = total + i;
}
gesamteinnahmen.setText("Gesamteinnahmen"+": "+String.valueOf(f.format(total) + "€"));
float total2 = 0;
for (Float j : myList2) {
total2 = total2 + j;
}
gesamtausgaben.setText("Gesamtausgaben"+": "+String.valueOf(f.format(total2) + "€"));
final float total3= total-total2;
gewinn.setText("Gewinn"+": "+ String.valueOf(f.format(total3)+ " €"));
ContactListAdapter contactListAdapter = new ContactListAdapter(
Scrollbook.this, contactList);
lvCustomList.setAdapter(contactListAdapter);
}
Alles anzeigen
Meine Datenbank:
Java
public class SqlDbHelper extends SQLiteOpenHelper {
static SQLiteDatabase database;
public static final String DATABASE_TABLE = "PHONE_CONTACTS";
public static final String COLUMN1 = "nr";
public static final String COLUMN2 = "name";
public static final String COLUMN3 = "einnahmen";
public static final String COLUMN4 = "ausgaben";
public static final String COLUMN5 = "datum";
private static final String SCRIPT_CREATE_DATABASE =
"create table "+ DATABASE_TABLE
+ " (" + COLUMN1 + " integer primary key autoincrement, "
+ COLUMN2 + " text not null, "
+ COLUMN3 + " text not null, "
+ COLUMN4 + " text not null, "
+ COLUMN5 + " text not null);";
public static void remove(long id){
String string =String.valueOf(id);
database.execSQL("DELETE FROM PHONE_CONTACTS WHERE _id = '" + string + "'");
}
public SqlDbHelper(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL(SCRIPT_CREATE_DATABASE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS " + DATABASE_TABLE);
onCreate(db);}
}
Alles anzeigen
Mein LisenAdapter:
Java
public class ContactListAdapter extends BaseAdapter {
Context context;
ArrayList<ContactListItems> contactList;
public ContactListAdapter(Context context, ArrayList<ContactListItems> list) {
this.context = context;
contactList = list;
}
@Override
public int getCount() {
return contactList.size();
}
@Override
public Object getItem(int position) {
return contactList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup arg2) {
ContactListItems contactListItems = contactList.get(position);
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.contact_list_row, null);
}
TextView tvNr = (TextView) convertView.findViewById(R.id.tv_nr);
tvNr.setText(contactListItems.getNr());
TextView tvName = (TextView) convertView.findViewById(R.id.tv_name);
tvName.setText(contactListItems.getName());
TextView tvEinnahmen = (TextView) convertView.findViewById(tv_einnahmen);
tvEinnahmen.setText(contactListItems.getEinnahmen()+ " €");
TextView tvAusgaben = (TextView) convertView.findViewById(R.id.tv_ausgaben);
tvAusgaben.setText(contactListItems.getAusgaben()+ " €");
TextView tvDatum = (TextView) convertView.findViewById(R.id.tv_datum);
tvDatum.setText(contactListItems.getDatum());
return convertView;
}
}
Alles anzeigen
Vielen Dank im voraus