Как передать тот же метод класса внутри onActivityResult () в android? - PullRequest
0 голосов
/ 11 февраля 2020

У меня есть один метод - addEntryData. Я хочу передать метод addEntryData внутрь 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);
}

Ответы [ 2 ]

0 голосов
/ 11 февраля 2020
 @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);
} 
0 голосов
/ 11 февраля 2020

вам нужно использовать startActivityForResult()

Пример:

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);

и в SecondActivity вы можете получить то же намерение, используя getIntent().

И из SecondActivity верните результат, используя:

setResult(RESULT_OK); .....

и обработайте его в onActivityResult()

...