Как использовать широковещательный приемник для отправки данных между фрагментами? - PullRequest
0 голосов
/ 31 марта 2020

У меня есть приложение, которое имеет два фрагмента (1 и 2), и у каждого есть кнопка.

В 1-м фрагменте у меня есть переменная int, которую нужно отправить во фрагмент 2 с помощью широковещательного приемника.

Затем во фрагменте 2 есть еще одна кнопка, которая должна отображать полученные данные.

Будучи начинающим разработчиком, если кто-то может помочь с этим, это сводит меня с ума!

Fragment1. java:

package com.example.practiceapp;

import android.content.Context;
import android.net.Uri;
import android.os.Bundle;

import androidx.fragment.app.Fragment;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;

public class Fragment1 extends Fragment {

int someData;
Button frag1Btn;

public Fragment1() {
    // Required empty public constructor
}


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

    View view = inflater.inflate(R.layout.fragment_fragment_1, container, false);

    someData = 10;

    frag1Btn = view.findViewById(R.id.frag_1_btn);
    frag1Btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
           //Broadcast receiver needs to fire from here
        }
    });

    return view;

    }

}

Фрагмент 2. java (Пока это просто пусто)

package com.example.practiceapp;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;

import androidx.fragment.app.Fragment;

import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;

public class Fragment2 extends Fragment {

int dataFromFrag1;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_fragment_2, container, false);


    return view;
}



}  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...