列表视图和片段

| 问题是我正在创建一个蜂窝应用程序,而我无法在片段之间切换。这是我的主要代码:
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()。     
已邀请:
        请看一下API演示FragmentLayout示例,因为它的功能与您希望的一样。如示例所示,调用ѭ1加载第一个片段没有错。 首先添加一些保护,以便当您单击相同的列表条目时,不会重新加载相同的片段。 第二,在维护对片段的引用时,请参阅链接。您可能需要每次重新创建片段,或者使用
remove
add
代替
replace
。     
        问题不在于删除片段。
replace
方法删除现有的方法。 我猜问题出在访问侦听器内部的片段。尝试在侦听器内部创建一个新片段。请发布完整的代码。     

要回复问题请先登录注册