FragmentActivity:用片段“覆盖”内容

时间:2014-02-21 14:23:08

标签: android listview android-listview android-fragments

我有一个带有ListView的FragmentActivity(填入onCreate())。现在我想当用户点击e ListView元素时,自定义片段出现在当前FragmentActivity上并“隐藏”所有FragmentActivity内容(在本例中为ListView)。它可以这样做,或者我还需要为show ListView创建一个片段?

public class MyActivity extends FragmentActivity {
private ArrayList<Object> list;
private FragmentManager fragmentManager;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.mylaytou);

    list = PrincipalActivity.getMatchesList();

    ListView list = (ListView) this
            .findViewById(R.id.listView);
    ArrayAdapter<Object> adapter = new ArrayAdapter<Object>(this,
            android.R.layout.simple_list_item_1, list);
    list.setAdapter(adapter);

    list.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            fragmentManager = MyActivity.this
                    .getSupportFragmentManager();
            MyFragment fragment = new MyFragment((Object) arg0
                    .getItemAtPosition(arg2));

            FragmentTransaction fragmentTransaction = fragmentManager
                    .beginTransaction();

            fragmentManager.beginTransaction()
                    .add(R.id.ViewGroup, fragment).commit();

        }

    });

}

1 个答案:

答案 0 :(得分:0)

如果您只想隐藏列表视图,那么最好遵循single pane方法。否则最好开始一项全新的活动。

按照第一种方法,您必须创建2个片段,然后使用FragmentTransactionreplace旧片段与新片段一起使用。