У меня есть фрагмент, который я пытаюсь добавить в представление.
FragmentManager fragMgr=getSupportFragmentManager();
feed_parser_activity content = (feed_parser_activity)fragMgr
.findFragmentById(R.id.feedContentContainer);
FragmentTransaction xaction=fragMgr.beginTransaction();
if (content == null || content.isRemoving()) {
content=new feed_parser_activity(item.getLink().toString());
xaction
.add(R.id.feedContentContainer, content)
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
.addToBackStack(null)
.commit();
Log.e("Abstract", "DONE");
}
Когда этот код выполняется, я получаю следующую ошибку при отладке.
java.lang.IllegalArgumentException: No view found for id 0x7f080011
for fragment feed_parser_activity{41882f50 #2 id=0x7f080011}
feed_parser_activity
- это фрагмент, для которого задано макет фрагмента в xml.
Я использую FragmentActivity для размещения макета фрагмента, содержащего feed_parser_layout
.
Правильно ли я кодирую это выше?
Иногда это - потому что Вы используете BottomNavigationView. Если Вы открываете Intent от навигации, и в том действии Вы открываетесь, фрагмент позволяет, говорят
transaction.replace(R.id.container,new YourFragment());
затем, Действие не сможет найти метод навигации, который Вы используете.
РЕШЕНИЕ: Изменение действие, чтобы фрагментировать и обработать навигацию с addOnBackStack в Вашем приложении. Если Вы реализовали Навигацию Реактивного ранца, просто используют фрагменты в Вашем проекте.