В моем случае я должен был отправить данные назад из FragmentB-> FragmentA, поэтому Intents не был вариантом, так как фрагмент уже был инициализирован. Все, если все вышеприведенные ответы звучат хорошо, требуется много кода котельной плиты для реализации , поэтому я пошел с гораздо более простым подходом к использованию LocalBroadcastManager, это именно то, что указано выше, но без allly неприятный шаблонный код. Пример представлен ниже.
В Отправляющем фрагменте (фрагмент B)
public class FragmentB {
private void sendMessage() {
Intent intent = new Intent("custom-event-name");
intent.putExtra("message", "your message");
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
}
}
И в сообщении, которое будет получен фрагмент (FRAGMENT A)
public class FragmentA {
@Override
public void onCreate(Bundle savedInstanceState) {
...
// Register receiver
LocalBroadcastManager.getInstance(this).registerReceiver(receiver,
new IntentFilter("custom-event-name"));
}
// This will be called whenever an Intent with an action named "custom-event-name" is broadcasted.
private BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String message = intent.getStringExtra("message");
}
};
}
Надеюсь, что это поможет кому-то
simpliest способ достигнуть этого,
docker cp <filename> <container-id>:<path>