Я пытался достичь определенной функциональности, связанной с контактами. У меня есть фрагмент, который показывает все контакты в устройстве. Сначала, когда экземпляр экземпляра создаст контакты, будут извлечены и сохранены на arraylist который затем будет отображаться в списке. Когда вы выбираете первый раз, для загрузки контактов требуется примерно 3-5 секунд, поэтому у меня есть загрузочный вид. Можно ли сохранить этот список и сохранить его, чтобы выборка списка контактов была быстрее второго раза. Я заменяю фрагменты на нажатия кнопок. Здесь есть мой код.Сохранение данных в фрагменте андроида
public static void replaceFragment(FragmentManager fm, int container, Fragment fragment) {
FragmentTransaction ft = fm.beginTransaction();
ft.replace(container, fragment);
ft.commit();
}
и вызвано в деятельности onCreate()
.
Utils.replaceFragment(getSupportFragmentManager(), R.id.container, new Fragment1());
также на каждом нажатии кнопки в деятельности я звоню этот метод ..
@Override
public void onClick(View v) {
Typeface tf;
switch (v.getId()) {
case R.id.frag1_btn:
Utils.replaceFragment(getSupportFragmentManager(), R.id.container, new Fragment1());
break;
case R.id.contact_btn:
Utils.replaceFragment(getSupportFragmentManager(),
R.id.container, new ContactFragment());
break;
}
}
Я искал о saveToBackStack()
метод и onsavedInstanceState(Bundle)
и onRetainSavedInstance()
, но они могут быть использованы здесь, в моем случае? Также использовать их - addToBackStack()
нужен метод? .. Я все еще новичок в этом. Все предложения?