0

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

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

其中 args 是一个包含 String-where 和 StringArray-whereArgs 的 Bundle 是正确的继续方式吗?

4

2 回答 2

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);
于 2012-09-14T11:20:17.890 回答
0

是的,这种方法没有错,

您可以做的另一件事是在构造函数中传递 where 参数

于 2012-09-14T11:03:03.780 回答