我需要在图片下方显示文字,但需要使用水平滑动功能。这是每次人们水平滑动图像和文本更新。但问题是,当服务器返回时,我不知道带有文本的图像数量。我该如何处理?
答案 0 :(得分:1)
使用ViewPageAdapter
来实现此功能。第一步是从服务器获取图像和相应的文本。我宁愿自定义服务器以返回它的json数组。
使用从服务器获取的值,编写类似于下面的适配器。这里myValues
将是存储服务器中所有值的数组。
使用静态方法创建Fragment
(MyFragment
下方),该方法将返回设置了所需值的片段的新实例。
现在,当您滑动时,将调用方法getItem(pos)
,并向用户显示片段的新实例。
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();
}
}
}
希望这会有所帮助。 :)
答案 1 :(得分:1)
使用带水平滚动的RecyclerView。
<taxonomy>
<record code="B">
<name>Basic Needs</name>
<facet>Service</facet>
<record code="BD">
<name>Food</name>
<facet>Service</facet>
<record code="BD-1800">
<name>Emergency Food</name>
<facet>Service</facet>
<record code="BD-1800.1000">
<name>Brown Bag Food Programs</name>
<facet>Service</facet>
</record>
<record code="BD-1800.1500">
<name>Commodity Supplemental Food Program</name>
<facet>Named Programs</facet>
</record>
<record code="BD-1800.1900">
<name>Food Lines</name>
<facet>Service</facet>
</record>
...
</record>
...
</record>
...
</record>
<record code="D">
<name>Consumer Services</name>
<facet>Service</facet>
...
</record>
...
</taxonomy>
答案 2 :(得分:0)
您需要在onSwipeLeft或onSwipeRight内更新textView(在单独的片段中或在同一个活动中)。
要进行这些回调,您需要创建扩展TouchListener的自定义侦听器。
这样做的好例子是here。