0

I have one method - addEntryData. I want to pass the addEntryData method inside onActivityResult.

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent)
{
    super.onActivityResult(requestCode, resultCode, intent );
    // check if the request code is same as what is passed  here it is 2
    if(requestCode==2) {I want ot put my addEntryData method here.}
}

public void addEntryData(SMSForwardEntry smsForwardEntry)
{
    smsForwardEntries.add(smsForwardEntry);
    smsForwardAdapter.notifyDataSetChanged();
    saveData();
    Analytics.track(AnalyticsEvents.SMS_FORWARD_ADDED);
}
Serg
  • 2,346
  • 3
  • 29
  • 38
S S Tiwari
  • 1
  • 1
  • 2
  • i don't thing you will get any issue call function there if addEntryData method in same activity, and SMSForwardEntry coming from intent And follow this https://stackoverflow.com/questions/10407159/how-to-manage-startactivityforresult-on-android – kuber singh Feb 11 '20 at 07:11

2 Answers2

0

you need to use startActivityForResult()

Example:

Intent i = new Intent(this, SecondActivity.class);

// add data that you want to pass to other activity in to Intent

startActivityForResult(i, LAUNCH_SECOND_ACTIVITY);

and in SecondActivity you can get same Intent using getIntent().

And from SecondActivity return result using:

setResult(RESULT_OK); .....

and handle it in onActivityResult()

Antonis Radz
  • 3,036
  • 1
  • 16
  • 34
0
 @Override
 protected void onActivityResult(int requestCode, int resultCode, Intent intent)
 {
     super.onActivityResult(requestCode, resultCode, intent );
    // check if the request code is same as what is passed  here it is 2
    if(requestCode==2) {
         addEntryData(smsForwardEntry);//Add like this
    }
 }

 public void addEntryData(SMSForwardEntry smsForwardEntry) {
    smsForwardEntries.add(smsForwardEntry);
    smsForwardAdapter.notifyDataSetChanged();
    saveData();
    Analytics.track(AnalyticsEvents.SMS_FORWARD_ADDED);
} 
ashok
  • 431
  • 5
  • 8