Изменение фрагмента с помощью нижней панели NAV с использованием активности фрагмента в библиотеке - PullRequest
0 голосов
/ 22 марта 2020

Я запускаю новый Android проект с нижней панелью NAV в основной активности в модуле приложения, как на рисунке. Я планирую установить начальный фрагмент в модуле featuretab1.

Я нашел способ изменить активность с помощью намерения и установки зависимости. Просто хочу подтвердить, чтобы изменить фрагмент, просто нужно поставить кодировку ниже.

//Java in featuretab1
public class featuretab1fragment extend fragment {

    //fragment detail

}

//navbar.setOnClicklistener action in app module main activty
Fragment f = new featuretab1fragment();
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.nav_host_fragment, f);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
ft.commit();

Это то, что мне нужно сделать?

want to achieve

1 Ответ

0 голосов
/ 22 марта 2020

Используйте getSupportFragmentManager() вместо getFragmentManager() для совместимости между устройствами ниже API 14. Проверьте официальный документ, прежде чем задавать этот вопрос. Вот ссылка на него: https://developer.android.com/guide/components/fragments#java

Fragment newFragment = new featuretab1fragment();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();

// Replace whatever is in the fragment_container view with this fragment,
// and add the transaction to the back stack
transaction.replace(R.id.nav_host_fragment, newFragment);
transaction.addToBackStack(null);

// Commit the transaction
transaction.commit();

Поскольку вы только начинаете разработку Android, я бы рекомендовал вам изучить Kotlin или Flutter. Оба лучше, чем Java, с точки зрения создания Android приложений. Kotlin требует меньше кода для того же, что и Java, и имеет нулевую безопасность. Flutter может одновременно создавать приложения android и ios с одной кодовой базой. Flutter использует язык программирования dart.

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