Дело в том, что я создаю сотовое приложение и не могу переключаться между фрагментами. Вот мой основной код:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
list = (ListView)findViewById(R.id.list);
A = new FragmentA();
B = new FragmentB();
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, items);
list.setAdapter(adapter);
list.setOnItemClickListener(mylistener);
}
public void changeFragment(Fragment f){
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.fragment, f);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.addToBackStack(null);
ft.commit();
}
public OnItemClickListener mylistener = new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
switch(position){
case 0 : changeFragment(A);
break;
case 1 : changeFragment(B);
break;
}
}
};
Я знаю, прежде чем поставить «заменить», я должен удалить, но как я могу удалить тот, в котором я уже?
Что говорит мне в журнале:
У указанного ребенка уже есть родитель. Сначала вы должны вызвать removeView () у родителя ребенка.