2016-04-22 4 views
2

У меня есть сахар ORM стойкий объект объявлен следующим образом:Sugar ORM Android приложение теряет поле идентификатора Стойкие объекта при переходе на новый экран

public class Trx extends SugarRecord implements Serializable { 
... 
} 

Обратите внимание, что при расширении SugarRecord, вы унаследовать идентификатор поле, используемое для уникальной идентификации вашего постоянного объекта.

При переходе от основной точки зрения моего приложения к нему это вид детали, я создаю намерение/деятельность следующим образом:

Trx selectedItem = (Trx)trxList.getItemAtPosition(position); 
Intent intent = new Intent(this,TransactionViewActivity.class); 
intent.putExtra(CommonThings.CURRENT_TRX_KEY,selectedItem); 
startActivity(intent); 

И в детальном, я получаю текущий элемент (в OnCreate ()) следующим образом:

trx = (Trx) getIntent().getExtras().get(CommonThings.CURRENT_TRX_KEY); 

Моя проблема такова: после извлечения элемента из «массовки» и отладку, поле идентификатор отсутствует.

Я могу, конечно, сделать обходной путь, который влечет за собой передачу идентификатора моего объекта как «лишнего», а затем снова попадания в базу данных после того, как я нахожусь в новом действии, но я хотел бы знать, т работы. Я делаю что-то неправильно?

ответ

2

мне удалось решить эту проблему, изменив свои постоянные объекты использовать сахар аннотаций вместо расширения SugarRecord т.е.

от:

public class Trx extends SugarRecord implements Serializable { 
... 
} 

к:

@Table 
public class Trx implements Serializable { 
    private Long id; 
... 
} 

Это решает мою проблему с отсутствующим полем идентификатора

 Смежные вопросы

  • Нет связанных вопросов^_^