работает, так как регистрирует желаемое значение, но я не уверен, почему получение позиции этого объекта возвращает -1.
ение позиции объекта из ArrayAdapter возвращает -1, даже если объект существует. Я не определил пользовательский ArrayAdapter для моего объекта, но определилtoString()
метод в моем объекте.
spinner_formula = findViewById(R.id.formula_spinner);
List<Formula> formulas = formulaViewModel.getAllFormulas_();
ArrayAdapter<Formula> formulaArrayAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, formulas);
formulaArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner_formula.setAdapter(formulaArrayAdapter);
if (toClass.equals("BottleCurrent")) {
Log.v("test", "Ok");
Bottle bottle = bottleViewModel.getBottle(id);
Log.v("test", bottle.getId());
Log.v("test", formulaViewModel.getFormula(bottle.getFormulaID()).getName());
Log.v("test", ""+formulaArrayAdapter.getPosition(formulaViewModel.getFormula(bottle.getFormulaID())));
spinner_formula.setSelection(formulaArrayAdapter.getPosition(formulaViewModel.getFormula(bottle.getFormulaID())));
}
я знаю этоgetFormula
работает, так как регистрирует желаемое значение, но я не уверен, почему получение позиции этого объекта возвращает -1.