Отправить слушателя между действиями - PullRequest
0 голосов
/ 04 октября 2018

У меня есть фрагмент (x) внутри FragmentStatePagerAdapter, который находится внутри действия (y), во фрагменте (x) у меня есть startActivity к другой actvity (z), как отправить слушателя или обратный вызов из действия (z) в действие (y)

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

Запустите ваше второе действие для результата

static final int PICK_CONTACT_REQUEST = 1;  // The request code
...
private void pickContact() {
    Intent pickContactIntent = new Intent(Intent.ACTION_PICK, Uri.parse("content://contacts"));
    pickContactIntent.setType(Phone.CONTENT_TYPE); // Show user only contacts w/ phone numbers
    startActivityForResult(pickContactIntent, PICK_CONTACT_REQUEST);
}

Затем, прежде чем закончите второе намерение результата установки действия, намерение

Intent resultIntent = new Intent()
resultIntent.putExtra("SOME_TAG", SOME RESULT HERE)
activity.setResult(Activity.RESULT_OK, resultIntent);
activity.finish();

Затем в первом действии это намерение будет обработано в методе onActivityResult

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // Check which request we're responding to
    if (requestCode == PICK_CONTACT_REQUEST) {
        // Make sure the request was successful
        if (resultCode == RESULT_OK) {
            // The user picked a contact.
            // The Intent's data Uri identifies which contact was selected.

            // Do something with the contact here (bigger example below)
        }
    }
}
0 голосов
/ 04 октября 2018

Вы не можете.Но вы можете использовать startActivityForResult для запуска действия (z).Перед завершением действия (z) вы должны установить результат.Затем вы можете обработать этот результат в действии (у).

Посмотрите на это https://developer.android.com/training/basics/intents/result

...