Как изменить фрагмент TextView из MainActivity? - PullRequest
0 голосов
/ 12 апреля 2020

Так что я боролся с этой проблемой в течение дня или двух, и я не могу найти способ сделать это. Я создал нижнюю навигационную операцию, и моя цель - из класса main_activity изменить текст TextView, который находится во фрагменте. Это панель навигации, настроенная в основном упражнении:

// Setting up the navigation bar
BottomNavigationView navView = findViewById(R.id.nav_view);
AppBarConfiguration appBarConfiguration = new AppBarConfiguration.Builder(
        R.id.navigation_home, R.id.navigation_my_library, R.id.navigation_help)
        .build();
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
//NavigationUI.setupActionBarWithNavController(this, navController, appBarConfiguration);
NavigationUI.setupWithNavController(navView, navController);

, а в основном классе занятий я пытаюсь запустить это в потоке:

Fragment frag = getSupportFragmentManager().findFragmentById(R.id.navigation_my_library);
((TextView) frag.getView().findViewById(R.id.device_info)).setText(last_recv_msg);

I'm не очень знакомы с фрагментами и с тем, как работает панель навигации. Что бы ни настраивал Android Studio, когда вы щелкаете, чтобы создать новое действие, это то, что у меня есть. Я думал, что решение будет простым, но я пробовал разные вещи часами и ничего. Проблема в том, что frag имеет значение null.

Попытка вызвать виртуальный метод 'android .view.View androidx.fragment.app.Fragment.getView ()' on ссылка на пустой объект

Все, что я могу попробовать, проверить, отладить ... все, что полезно.

...