Я хочу открыть фрагменты из пунктов меню. У меня есть три элемента на панели действий: список, редактирование, настройка и два фрагмента на данный момент addfragment и countriesListFragment. есть один фрагмент, вложенный в активность, и я хочу, чтобы менял фрагмент в активности при выборе пунктов меню.заменить фрагменты через меню Элементы
мой OnOptionsItemSelected (MenuItem пункт) Метод:
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
if (item.getItemId()==R.id.list)
{
Toast.makeText(this,"list fragment", Toast.LENGTH_SHORT).show();
Fragment fr = new CountriesListFragment();
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
ft.replace(R.id.fragment1,fr);
ft.commit();
}
if (item.getItemId()==R.id.edit)
{
Fragment fr = new addFragment();
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
ft.replace(R.id.fragment1,fr);
ft.commit();
}
if (item.getItemId()==R.id.setting)
{
}
return super.onOptionsItemSelected(item);
}
Не work.I не знаю, где проблема. Почему я не могу заменить фрагменты?
я нашел ответ. эта линия не так:
Fragment fr = new CountriesListFragment();
правильная версия:
CountriesListFragment fr = new CountriesListFragment();
уточните пожалуйста. что именно «не работает». Что вы ожидаете и что происходит на самом деле? – Kuffs
@ kuffs не работают, значит: «к сожалению череллит остановился». Я ожидаю повторения фрагментов в деятельности. – klaymen
отредактируйте ваш вопрос, чтобы включить трассировку стека, показывающую ошибку – Kuffs