Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-多次实例化一个片段?_Android_Fragment - Fatal编程技术网

Android-多次实例化一个片段?

Android-多次实例化一个片段?,android,fragment,Android,Fragment,我正在创建一个在列表视图中显示数据的应用程序。数据分为两种类型(流行、收藏夹)。我有一个活动和两个片段。片段根据其类别显示项目列表。我为此使用了一个列表视图。然后我有两个fragment_布局,它们在设计上完全相同,但在文本视图中有不同的视图id ie tvId1和tvId2。片段中的代码仅在引用布局中相应的布局和视图时有所不同。我从一个JSON格式的URL获取数据。但每个类别都有一组不同的URL,它们生成相同的结构,只是不同的数据。然后,我解析每个片段上相应的URL,并相应地填充ListVie

我正在创建一个在列表视图中显示数据的应用程序。数据分为两种类型(流行、收藏夹)。我有一个活动和两个片段。片段根据其类别显示项目列表。我为此使用了一个列表视图。然后我有两个fragment_布局,它们在设计上完全相同,但在文本视图中有不同的视图id ie tvId1和tvId2。片段中的代码仅在引用布局中相应的布局和视图时有所不同。我从一个JSON格式的URL获取数据。但每个类别都有一组不同的URL,它们生成相同的结构,只是不同的数据。然后,我解析每个片段上相应的URL,并相应地填充ListView。到目前为止一切正常

我想知道的是,有没有一种方法,我可以只使用一个片段,然后对每个片段中的不同数据集使用两次?这样,如果出现新类别,我就不必再创建另一个片段


感谢您的帮助。

当然可以。事实上,你应该这样做

创建片段时,不要使用
newfragment()
创建一个以数据为参数的静态newInstance函数

public static MyFragment newInstance(int type) {
    MyFragment fragment = new MyFragment();
    Bundle args = new Bundle();
    args.putInt("type", type);
    fragment.setArguments(args);
    return fragment;
}
然后,您可以使用以下方法获取onCreate()方法的类型:

getArguments().getInt("type");

然后你得到类型,你可以相应地调用你的Web服务,然后你可以相应地设置
视图。

非常感谢。工作得很有魅力。省去了我很多麻烦。我会投赞成票,但我的声誉还不够。没问题。:)快乐编码。