Обновление / обновление списка в фрагменте и пользовательском адаптере

1

Что мне нужно вызвать из фрагмента 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() Я не вижу адрес.

Большое спасибо!

  • 0
    это когда-либо было решено? Я сталкиваюсь с подобной проблемой
Теги:
fragment
listview
refresh

1 ответ

2

Ваши фрагменты должны взаимодействовать друг с другом через Activity, см. Http://developer.android.com/guide/components/fragments.html#CommunicatingWithActivity.

Ваш первый фрагмент должен вызывать метод активности, который, в свою очередь, вызывает другой метод во втором фрагменте, который затем перезагружает ваши данные.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню