Hi oh okay sry ich ändere das mal. Leider bin ich kompletter Anfänger und brauche deshalb ein code beispiel wenn das möglich wäre
Beiträge von Makvaeli
-
-
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
Alles anzeigenpublic 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); }
Meine Datenbank:
Java
Alles anzeigenpublic 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);} }
Mein LisenAdapter:
Java
Alles anzeigenpublic 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; } }
Vielen Dank im voraus