2012-04-02 11 views
0

Я реализую модель DataDroid для связи RESTful, и я столкнулся с ошибкой компилятора при реализации моего SearchCriteria. Проблема состоит в том, что для того, чтобы пройти SearchCriteria вокруг, в качестве дополнительного намерения, мне пришлось сделать его реализовать Parcelable. Однако для моей функции Workerstart требуется класс SearchCriteria, что приводит к ошибке: Required: my.classes.SearchCriteria; Found: android.os.Parcelable.Синтаксис для создания объекта, реализующего Parcelable из getParcelableExtra (имя_пользователя)

Предполагая, что я правильно реализован Parcelable для моего SearchCriteria класса, как я могу быстро создать объект из посылки (если посылка найдена с помощью getParcelable Extra(INTENT_NAME)

Edit: Я понимаю, что я могу сделать это быстро ? сделав свой конструктор для SearchCriteria от Parcel общественности, но есть еще один способ на самом деле, это не работает. - Я спутал Parcel с Parcelable вещь

ответ

0

Предположим, вы следуете the API и сделать SearchCriteria инвентарь Parcelable правильно, и ваш SearchCriteria был правильно построен или инстанцирован от основного бизнес-слой, либо из базы данных или сервера HTTP- или т.п.

Чтобы передать его следующему действию намеренно:

SearchCriteria searchCriteria = createSearchCriteria(); 
Intent intent = new Intent(getBaseContext(), NextActivity.class); 
intent.putExtra("searchCriteria", searchCriteria); 
startActivity(intent); 

К получить его от намерения в следующей деятельности:

SearchCriteria searchCriteria = getIntent().getParcelableExtra("searchCriteria"); 
myWorker.search(searchCriteria); 

В большинстве случаев нам не нужно беспокоить партию напрямую.

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

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