2012-06-08 2 views
1

У меня есть 2 мероприятия FirstActivity, SecondActivity. MyActivities расширяет Activity. В моей FirstActivity существует ExpandableListView, содержащий дочерние элементы & groupviews. groupview, содержащий 3textviews и 2 изображения. Onclick of firstImage мне нужно перейти на SecondActivity. В SecondActivity я могу добавить несколько строк и, наконец, нажать кнопку «done», он должен вернуться к FirstActivity вместе со строковыми данными, которые были добавлены в SecondActivity, и эти строки SecondActivity должны быть добавлены в определенную выбранную строку в FirstActivity. ..Как вернуть данные из NextActivity в CurrentActivity?

Как мне это сделать ...?

Может одна пожалуйста, помогите мне ...

+0

Я сделал учебное пособие в Bahasa Indonesia tha talk о отправке и получении данных между Intent: http://bayu.freelancer.web.id/2012/05/29/cara-mengirim-data-antar-intent/ – ariefbayu

ответ

2
  • использование startActivityForResult() начать вторую активность.
  • И вы получите результат от второй активности до первой активности внутри onActivityResult() первой активности.
+0

+1 Простой и лучший ответ – Praveenkumar

+0

Если мы используем onActivityResult, как мне добавить данные, поступающие из SecondActivity в onActivityResult, в groupView класса MyAdapter? – user1441341

+0

Вы не можете добавить данные в адаптер внутри onActivityResult()? После добавления данных в адаптер, не забудьте вызвать 'notifyDataSetChanged()'. –

2

в Фрист активность начать activiy, как

startActivityForResult(this,YourscondActivity.class); 

и fristActivity переопределить menthod onActivityResult(). где вы получаете данные второй активности.

во Второй активности до конца установить результат и добавить туда данные, такие как

Intent i=new Intent(); 
i.putExtra("key ","your data"); and then 
setResult(i); 
secondActivity.finish(); 

это намерение вы получите в firstActivity.

1

использование Intent.

, чтобы перейти от активности A до B ::

Intent intent = new Intent(A.this, B.class); 
startActivityForResult(intent, REQUESTCODE); 

От activty B, чтобы отправить данные в ::

Intent intent = getIntent(); 
intent.putExtra(KEY1, DataTosend1); 
intent.putExtra(KEY2, DataTOSend2); 

finish(); 

снова Внутри onActivityResult() класса А

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent intent) 
{ 
    if( requestCode == REQUESTCODE ) 
    { 
      ////////// use intent.get<Type>Extra(KEY) to receive data sent by B ///////// 

    } 
}