从listfragment中的列表中单击启动另一个片段

时间:2013-08-27 10:49:03

标签: android android-fragments android-fragmentactivity

我可以使用从列表片段中选择的项目启动另一个片段。在第二个片段中,我有一个列表视图,我只想在从第一个片段单击列表项时显示。但是一旦我开始活动,我就会在第二个片段中获取列表视图项。

public class MyNewFragment extends ListFragment{


    String[] newLists ={
            "hey", 
            "hello Control", 
            "what", 
            "3D gone",
            "chindiyaa", 
            "hat sala", 
            "Heheheheh", 
            "chal nikal",

    };

    /*@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        //return inflater.inflate(R.layout.justatestlayout, container, false);
            View view = inflater.inflate(R.layout.new_fragment_layout, container, false);
            ListView lv2 = (ListView) view.findViewById(R.id.listView3);
            lv2.setAdapter(new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, newLists));             
            return view;
    }*/

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ListAdapter myListAdapter = new ArrayAdapter<String>(
                getActivity(),
                android.R.layout.simple_list_item_1,
                newLists);
        setListAdapter(myListAdapter);
    }

}

1 个答案:

答案 0 :(得分:0)

正如docs所说,只有通过调用setListAdapter(adapter)将适配器设置为ListView,才能看到ListFragment中的ListView。所以有f.e.一个布尔标志,指示是否单击了ListItem,如果此标志为true,则加载适配器。

编辑:

当ListView为空时我忘记了进度指示器。没有显示ListView项目就无法隐藏它。

这是另一种方法:将Fragment的可见性设置为GONE / INVISIBLE。如果单击了ListItem,请将其更改为VISIBLE。