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.