Android в данный момент индекс из arrayList попробуйте обновить - PullRequest
0 голосов
/ 01 апреля 2020
ArrayList < Titles > atitlename;
ArrayList < Items > aitems;

static int currentListIndex = 0, currentItemIndex = 0;

public void onClick(View button)
    {

switch (button.getId())

        case R.id.button_update: {

        int id = aitems.get(currentListIndex).getItemId();
        String newContent = etupdateName.getText().toString();
        etupdateName.setText("");
        ContentValues values = new ContentValues();
        values.put(DBManager.C_ITEM_NAME, newContent);

        try {
            database = manager.getWritableDatabase();
            database.update(DBManager.TABLE_ITEMS, values, DBManager.C_ID + "=" + id, null);

            Toast.makeText(this, "you saved: " + newContent, Toast.LENGTH_LONG).show();
            database.close();
            refreshitem();

        } catch (Exception e) {
            Log.d(TAG, "Error" + e);
            Toast.makeText(this, "error" + e, Toast.LENGTH_LONG).show();
        }
        break;
    }

    @Override
    public void onItemClick(AdapterView << ? > parent, View view, int position, long id) {

        String name = (aitems.get(position).getItemName());
        etupdateName.setText(name);

    }

попробуйте получить currentListindex из ArrayList для идентификатора, я установил currentListIndex = 0, потому что я не знаю, как получить текущий индекс, я получил int из OnItemClick, потому что он передает int Position из метода, но я не могу передать int Position из метода Onclick. Я хочу идентификатор = все, что я нажимаю на элемент из списка.

Когда я щелкаю элемент в списке, где id = 2, и пытаюсь обновить его, он всегда обновляет элемент, где index = 0 (потому что я устанавливаю currentItemIndex = 0).

я хочу обновить идентификатор элемента = что бы я ни щелкал по элементу из списка, который я сделал, используя int Position из метода OnItemClick.

Пример: я выбираю элемент из списка, где id = 3, он отображает имя элемента в поле EditText, затем я хочу обновить имя элемента, он будет обновлять имя элемента, где id = 3.

...