Android 动态添加片段

Android 动态添加片段,android,android-fragments,android-viewpager,Android,Android Fragments,Android Viewpager,我需要显示图像下方的文本,但具有水平滑动功能。也就是说,每次一个人水平滑动图像和文本时都会更新。但问题是,我不知道服务器返回的带有文本的图像的数量。如何继续此操作?您需要在onSwipeLeft或onSwipeRight中更新textView(在单独的片段中或在同一活动中) 要获得这些回调,您需要创建扩展TouchListener的自定义侦听器 这样做的一个很好的例子是。使用ViewPageAdapter来实现此功能。第一步是从服务器获取图像和相应的文本。我更愿意自定义服务器以返回json数组

我需要显示图像下方的文本,但具有水平滑动功能。也就是说,每次一个人水平滑动图像和文本时都会更新。但问题是,我不知道服务器返回的带有文本的图像的数量。如何继续此操作?

您需要在onSwipeLeft或onSwipeRight中更新textView(在单独的片段中或在同一活动中)

要获得这些回调,您需要创建扩展TouchListener的自定义侦听器


这样做的一个很好的例子是。

使用
ViewPageAdapter
来实现此功能。第一步是从服务器获取图像和相应的文本。我更愿意自定义服务器以返回json数组

使用从服务器获得的值,编写一个适配器,如下所示。此处
myValues
将是存储服务器中所有值的数组

使用静态方法创建一个
片段
(在
MyFragment
下面),该方法将返回一个设置了所需值的片段的新实例

现在,当您滑动时,将调用方法
getItem(pos)
,并向用户显示fragment的新实例

 private class MyPagerAdapter extends FragmentPagerAdapter {
    ArrayList<Values> myValues = new ArrayList<Values>();

    public MyPagerAdapter(FragmentManager fm,ArrayList<Values> val) {
        super(fm);
        this.myValues = val;
    }

    @Override
    public Fragment getItem(int pos) {
        return MyFragment.newInstance("text","image");
    }

    @Override
    public int getCount() {
        return myValues.length();
    }       
 }
}
私有类MyPagerAdapter扩展了FragmentPagerAdapter{
ArrayList myValues=新的ArrayList();
公共MyPagerAdapter(FragmentManager格式,ArrayList val){
超级(fm);
this.myValues=val;
}
@凌驾
公共片段getItem(int-pos){
返回MyFragment.newInstance(“文本”、“图像”);
}
@凌驾
public int getCount(){
返回myValues.length();
}       
}
}

希望这有帮助。:)

使用带水平滚动的RecyclerView

recyclerview = (RecyclerView) view.findViewById(R.id.recyclerview);
layoutManager = new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false);
recyclerview.setLayoutManager(layoutManager);
recyclerview.setItemAnimator(new DefaultItemAnimator());
recyclerview.setHasFixedSize(true);
recyclerview.setAdapter(adapter);

如果你解释一下它和碎片有什么关系,也许我能帮上忙,但你几乎没有提供任何信息。Viewapger使用适配器。如果适配器的底层数据接收到更多项,您必须通知DataSetChanged(),就这样……我认为应该动态添加片段。除了动态添加片段,还有其他方法添加片段吗?