У меня есть эта активность, которая сначала показывает фрагмент со списком элементов. Это прекрасно работает с этим кодом:Изменение фрагментов внутри Activity через onListItemClick()
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.list_act);
if(null == savedInstanceState)
{
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
ListFragment glfragment = new ListFragment();
fragmentTransaction.add(R.id.listfrag1, glfragment);
fragmentTransaction.commit();
}
}
Ну у меня есть ListFragment
и DetailFragment
. Но я не знаю, как сделать переход, когда я нажимаю элемент списка. Я знаю fragmentTransaction.replace()
, но я не знаю, КОГДА это можно назвать.
Я думал, что я должен использовать OnListItemClick()
внутри ListFragment
, но я не знаю, как использовать FragmentManager
внутри фрагмента, а не в основной деятельности ... Кроме того, я хочу «экспортировать» некоторые данные в DetailFragment
как будто это было намерение, но это не так.
Я попробовал этот @Override \t общественного недействительными onListItemClick (ListView л, Вид v, внутр позиция, длинный идентификатор) \t { \t \t FragmentManager фм = getActivity() getFragmentManager(). \t \t FragmentTransaction ft = fm.beginTransaction(); \t \t DetailFragment df = new DetailFragment(); \t \t ft.replace (R.id.listfrag1, df); \t \t ft.commit(); \t} но это не сработало ... – fcasanova
ОК, моя проблема в том, что мой DetailFragment был ListFragment ... facepalm для меня. Это сработало! – fcasanova