Крашится приложение при использовании Pimary Key, переданного через intent
В MainActivity создаю объект для добавление в БД Room.
@Entity(tableName = "table_lists")
public class MainList {
@ColumnInfo(name = "id")
@PrimaryKey(autoGenerate = true)
private int id;
private String name;
public MainList(String name) {
this.name = name;
}
public void setId(int id) {
this.id = id;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
Далее я его добавляю при помощи viewModel в базу данных, дальше с этого объекта я получаю id, name - передаю через интент в другое активити.
MainList mainList = new MainList("Новый список");
viewModel.insertMainList(mainList);
Все через AsyncTask естесно, запуск активити происходит через StarActivityForResult, в новой активити я пробую через Toast вытащить idшник и приложение вылетает.
Intent intent = getIntent();
setTitle("Edit goods");
list_name = intent.getStringExtra(EXTRA_TITLE);
list_id = intent.getIntExtra(EXTRA_ID, -1);
editText_listName.setText(list_name);
Toast.makeText(this, list_id, Toast.LENGTH_SHORT).show();
Ответы (1 шт):
У вас в LogCat есть вывод сообщения об ошибке. Если бы вы туда посмотрели, то увидели бы, что не найден строковый ресурс в методе Toast.makeText(Context context, @StringRes int stringId, int length).
Это происходит потому, что вы не тот метод вызываете. Вам надо вызывать метод Toast.makeText(Context context, String string, int length), передавая туда строку (переменную list_name ), а не число. Или прeобразовав число в строку String.valueOf(list_id)