Как уведомить об изменении в классе SQLiteOpenHelper в ArrayList в основной деятельности? - PullRequest
0 голосов
/ 12 апреля 2020

// Я добавляю новую запись в базу данных, используя следующий код в Main Activity.

custDatabase.insertData(inName.getText().toString(), inSurname.getText().toString());
            Toast.makeText(this, "Entry is Added", Toast.LENGTH_SHORT).show();
            finish();

// custDatabase - это объект из java класса, который расширяет SQLiteOpenHelper // insertData - это метод в java классе для вставки

// Ниже приведен код в java класс, используемый для вставки

public void insertData (String name, String surname)
    {
        SQLiteDatabase sqLiteDatabase = this.getWritableDatabase();
        ContentValues contentValues;
        contentValues = new ContentValues();

        contentValues.put(col_1, name);
        contentValues.put(col_2, surname);
        sqLiteDatabase.insert(TABLE_NAME, null, contentValues);
    }

// Ниже приведен код из Java Класс для получения только имени columnn

public Cursor getData()
    {
        String custName = MainActivity.custName;
        SQLiteDatabase sqLiteDatabase = this.getWritableDatabase();
        Cursor result = sqLiteDatabase.rawQuery("SELECT name FROM customerData WHERE name = '" + custName + "'" ,null);
        return result;
    }

// Ниже приведен код из MainActivity для передачи всех имен из базы данных в Arraylist, чтобы до ListView

public void CustomersName()
    {
        custDatabase = new CustomerDatabase(this);

        customerList = (ListView) findViewById(R.id.customerList);
        customers = new ArrayList<String>();

        Cursor result = custDatabase.customerName();

            if (result.getCount() == 0)
            {
                Toast.makeText(this, "No Entry", Toast.LENGTH_SHORT).show();
                return;
            }
            while (result.moveToNext())
                {
                    custNameInList = result.getString(0);
                    customers.add(custNameInList);
                }
    }

Я хочу отразить изменения в таблице из базы данных, как только это будет сделано. Но изменения появляются после повторного открытия приложения

...