У меня такая ситуация: при запуске приложения в первом отображаемом фрагменте (A) есть список некоторых пользователей. При нажатии на пользователя отображается другой фрагмент (B), и вместе меню ящика будет отличаться для каждого пользователя.
Как вы можете видеть, я НЕ могу настроить DrawerLayout при запуске приложения (основное действие или Launcher), так как у меня еще нет данных для listView, но мне нужно настроить его при нажатии пользователя в списке в фрагмент A после завершения запуска приложения (вот когда я могу получить данные для listView меню ящика, на что указывает идентификатор: fragment_drawer в XML-файле ниже).
Вот файл xml для «MainActivity»:
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<!-- The main content view -->
<FrameLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<!-- The navigation drawer, listView is inside MyDrawerFragment's layout-->
<fragment android:id="@+id/fragment_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:name="mypackage.com.MyDrawerFragment"
tools:layout="@layout/drawer_layout" />
</android.support.v4.widget.DrawerLayout>
Как я могу достичь цели во фрагменте B? Достижимо ли это вообще во фрагменте B?
Если это невозможно сделать во фрагменте B, я думаю запустить второе действие, скажем, Activity2, и указанный выше файл макета xml будет применен к этому новому действию, при нажатии на пользователя во фрагменте A я просто продолжаю делать это: закрытие существующий Activity2, вызвав finish() и создав новый экземпляр Activity2 с новыми данными для меню ящика? Возможен ли вообще такой подход?
Любые подсказки высоко ценятся!
Спасибо, Шон