Обновление элемента управления Spinner после второго просмотра фрагмента - PullRequest
0 голосов
/ 26 июня 2019

У меня есть приложение Android / Java с управлением вращением, и при первом просмотре фрагмента загружается управление вращением. Затем, если я загружаю другое представление, а затем пользователь возвращается, счетчик пуст, а данные - нет. Как я могу убедиться, что данные обновляются во втором представлении?

основное действие, которое запускает фрагмент

private static Fragment;

private void LoadFragment()
{
    m_fragmentPerson = PersonFragment.newInstance(getApplicationContext());
    m_fragmentPersonDisplayOptions.setRetainInstance(true);
    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
    transaction.replace(R.id.frame_container, PersonFragment.newInstance(getApplicationContext());
    transaction.commit();
}

MyFragment.java

private static Spinner m_spnPeople;
private static List<String> m_lstPeopleForSpinner = new ArrayList<String>();
private ArrayAdapter<String> m_daPeople; 

private void DownloadData()
{
    //... Download code ...
    // puts data into m_lstPeopleForSpinner
    // shows there is data on the second view

    m_spnPeople = (Spinner) getView().findViewById(R.id.spnPeople);
    m_daPeople = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, m_lstPeopleForSpinner);
    m_spnPeople.setAdapter(m_daPeople);


    m_lstPeopleForSpinner.clear();
    for (int j = 0; j < m_lssRawPersonInfo.size(); j++)
    {
        String sLongName = m_lssRawPersonInfo.get(j).LongName;
    }
}

Я вижу, что данные в m_lssRawPersonInfo остаются на втором экране, но элемент управления Spinner по-прежнему не загружает данные.

Я пытался использовать m_daPeople.notifyDataSetChanged (); но это ничего не меняет.

Спасибо за любую помощь, которую вы можете оказать!

...