android - Як оновити View Pager з отриманими значеннями Bluetooth? - Qaru

У мене є ViewPager з декількома фрагментами. За замовчуванням, коли починається дія, я запускаю Bluetooth і підключаюся до відомого пристрою. Коли пристрій Bluetooth відправляє дані, дані відображаються в текстовому вигляді в цьому фрагменті. Для цього я використовую Handler.

Проблема в тому, що якщо я перейду на другу вкладку / сторінку / фрагмент, значення все ще відображаються в попередньому фрагменті, тому що потік все ще запущений, і Handler все ще оновлює цей TextView.

Я можу скасувати і запустити Bluetooth ConnectThread кожен раз, коли переключаюсь між сторінками / фрагментами, але я думаю, що має бути більш ефективне рішення. Також це не допомагає, якщо в якийсь момент мені потрібно перезавантажити плеєр уявлення.

Тому моє запитання: чи можливо мати щось (обробник), яке оновлює текстові уявлення поточної активної сторінки / фрагмента?

Я знайшов це питання схожим: як поділитися Bluetooth отриманими даними між декількома діями в одному додатку, але це не допомогло мені дізнатися.

Мій Handler виглядає так:

static class MyHandler extends Handler {private final WeakReference <MyFragment> mFragment; public MyHandler (MyFragment fragment) {mFragment = new WeakReference <> (fragment); } @Override public void handleMessage (Message msg) {MyFragment fragment = mFragment.get (); if (fragment! = null) {String tempValue = (String) msg.obj; if (tempValue! = null &&! tempValue.equals ( "")) {try {fragment.setValuesFromBluetooth (tempValue.trim ()); // here i need something to update the current active fragment}} catch (Exception e) {// log}}}}} private void setValuesFromBluetooth (String value) {tv1.setText (value); }

EDIT: Я докладаю зображення, що ілюструє те, що я намагаюся зробити.

EDIT: Я докладаю зображення, що ілюструє те, що я намагаюся зробити

Тому моє запитання: чи можливо мати щось (обробник), яке оновлює текстові уявлення поточної активної сторінки / фрагмента?