Что мне нужно вызвать из фрагмента 1, чтобы принудительно обновить/обновить фрагмент 2, когда Fragment 2 имеет код в onActivityCreated()
для загрузки данных, создания адаптера пользовательского массива и установки его в ListView?
Есть ли способ обновить/обновить ListView или намерение Replace()
фрагмент, чтобы заставить его перестроить и повторно запустить код в onActivityCreated()
?
Вот фрагмент кода Fragment 2 onActivityCreated():
@Override
public void onActivityCreated(Bundle savedInstanceState)
{
super.onActivityCreated(savedInstanceState);
// Get the prepared data and load it into this view
ArrayList<ReportData> oReportResultsData = Report.LoadData(Home.ScheduleJSonData, Home.SelectedDate);
//Set the list into the gridview (Listview formatted with rows/columns)
ScheduledActivityReportGridArrayAdapter myGridArrayAdapter = new ScheduledActivityReportGridArrayAdapter(this.getActivity(), R.layout.homeschedulerow, oReportResultsData);
lstReport.setAdapter(myGridArrayAdapter);
}
Я попытался вручную вызвать notifyDataSetChanged()
в Fragment Manager в надежде, что это заставит его перезагрузить/обновить фрагмент 2. Я перечитал документы и много отличных ответов здесь, но пользовательский метод LoadData()
и настраиваемый адаптер настраиваются в onActivityCreated()
Я не вижу адрес.
Большое спасибо!
Ваши фрагменты должны взаимодействовать друг с другом через Activity, см. Http://developer.android.com/guide/components/fragments.html#CommunicatingWithActivity.
Ваш первый фрагмент должен вызывать метод активности, который, в свою очередь, вызывает другой метод во втором фрагменте, который затем перезагружает ваши данные.