创建片段的最佳方式

时间:2012-09-14 10:48:03

标签: android android-fragments

我有一些带有gridview的片段,gridview内容是从db中的某个位置决定的,通过一个游标加载器。 因此,除了db查询之外,片段是相同的:我需要一种类似构造函数的方法来强加差异。 我的解决方案是将参数放在一个包中,然后调用

Fragment.instantiate(this,clss.getName(), newTab.args)

其中args是包含String-where和StringArray-whereArgs的Bundle,它是正确的进行方式吗?

2 个答案:

答案 0 :(得分:2)

创建新片段的最佳方法是在片段中添加一个用于实例化的方法,例如:

public static DetailFragment newInstance(String id) {
    DetailFragment fragment = new DetailFragment();
    Bundle args = new Bundle();
    args.putString(KEY_ITEM, id);
    fragment.setArguments(args);

    return(fragment);
}

然后,当您需要数据时,您会执行以下操作:

this.getArguments().getString(KEY_ITEM);

答案 1 :(得分:0)

是的,这种方法没有错,

你可以做的另一件事就是传递构造函数中的where args