2016-01-26 3 views
1

Я отправляю данные от одного Activity (фактически Fragment в моем случае) к новому Activity с использованием Intent. Вот код, я использую:Получение дополнительного контента Intent в новой деятельности

Intent detailIntent = new Intent(getActivity(), NewActivity.class); 
detailIntent.putExtra("News", n); 
startActivity(detailIntent); 

Я знаю, как получить данные в моей NewActivity с помощью

News news = (News) getIntent().getSerializableExtra("News"); 

, а затем заполнить различные компоненты пользовательского интерфейса, которые я создал в XML.

, но где должны быть эти строки кода. Есть несколько методов, которые она могла бы жить в:

protected void onCreate(Bundle savedInstanceState) 
public View onCreateView(String name, Context context, AttributeSet attrs) 
public View onCreateView(View parent, String name, Context context, AttributeSet attrs) 
+0

что вам нужно? LayoutInflater.Factory [2] # onCreateView' для? – pskink

+0

Это мой вопрос, я не знаю, где поставить этот код. В моих фрагментах я инициализирую глобальные глобальные вары в OnCreateView (LayoutInflater, контейнер ViewGroup, Bundle savedInstanceState) –

+1

в 'Activity' использовать' onCreate' – pskink

ответ

0

Если перемещаться вперед и назад между вашей деятельностью и заемного может изменить его лучше поставить линии

News news = (News) getIntent().getSerializableExtra("News"); 

в onResume, а onCreate будет вызываться только при первом создании Activity, но не в том случае, если он находится в стеке и перемещается в начало позже. Если ваша вторая активность является статической, а дополнительные никогда не меняются, лучше иметь код в onCreate.

+1

, почему вы хотите снова и снова читать это снова в 'onResume'? будет ли оно время от времени меняться? нет, поэтому прочитайте его один раз в 'onCreate' – pskink

+0

@pskink прав, вы должны прочитать onCreate – frayab

+0

Следовательно, поэтому я написал, помещал его в onCreate или onResume в зависимости от ваших потребностей. – barq

3

Поскольку это информация, которую вы получаете от предыдущего действия, и она не будет изменена, вы должны прочитать ее из метода onCreate.

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