如何在Android中为每个ViewPager显示一个JSON对象?
我正在开发一个简短的新闻应用程序。它是从URL解析的JSON。我想在每个查看页面上显示一条新闻。在下一个如何在Android中为每个ViewPager显示一个JSON对象?,android,android-studio,android-viewpager,Android,Android Studio,Android Viewpager,我正在开发一个简短的新闻应用程序。它是从URL解析的JSON。我想在每个查看页面上显示一条新闻。在下一个查看页面上滑动时,我想显示下一条新闻,如列表所示。如何使用ViewPager实现这一点?您可以将PagerAdapter用于ViewPager并创建自定义xml布局和 按位置在单元格上设置视图。将列表传递到适配器构造函数中的寻呼机适配器中 您可以参考此链接,它将对您有所帮助 将JSON数据设置为PagerAdapter,就像我们设置为基本适配器或其他适配器一样&为适配器创建自定义布局 查看
查看页面上滑动时,我想显示下一条新闻,如列表所示。如何使用ViewPager
实现这一点?您可以将PagerAdapter
用于ViewPager
并创建自定义xml布局和
按位置在单元格上设置视图。将列表传递到适配器构造函数中的寻呼机适配器中
您可以参考此链接,它将对您有所帮助
将JSON数据设置为PagerAdapter,就像我们设置为基本适配器或其他适配器一样&为适配器创建自定义布局
查看\u pager\u layout.xml
您可以在ViewPager中加载片段,每个片段都可以获取它所需的信息。这里有一些开始的链接。您是否有GitHub存储库链接。请加上。
<RelativeLayout
android:id="@+id/loutPager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/loutCirIndicator"
android:background="@android:color/transparent"
android:padding="5dp"/>
<LinearLayout
android:id="@+id/loutCirIndicator"
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_alignParentBottom="true"
android:background="@android:color/transparent"
android:gravity="center_vertical"
android:orientation="horizontal">
<me.relex.circleindicator.CircleIndicator
android:id="@+id/indicator"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:gravity="center"
app:ci_drawable="@drawable/bg_selected_indicator"
app:ci_drawable_unselected="@drawable/bg_unselected_indicator" />
</LinearLayout>
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="200dp"
android:adjustViewBounds="true"
android:clickable="false"
android:scaleType="centerInside" />
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="abc" />
</LinearLayout>
public class SamplePagerAdapter extends PagerAdapter {
Activity activity;
List<Response_Model> Arr_ResultList;
ImageView imageView;
TextView textView;
public SamplePagerAdapter(final Activity activity,final List<Response_Model> Arr_ResultList) {
this.activity = activity;
this.Arr_ResultList = Arr_ResultList;
}
@Override
public int getCount() {
return Arr_ResultList.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
final int pos = position;
View view = LayoutInflater.from(container.getContext()).inflate(R.layout.row_pager_item, container, false);
imageView = (ImageView) view.findViewById(R.id.imageView);
textView = (TextView) view.findViewById(R.id.textView);
Glide.with(activity).load(Arr_ResultList.get(pos).getImage())
.thumbnail(0.5f)
.crossFade()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(imageView);
textView.setText(Arr_ResultList.get(pos).getName());
container.addView(view);
return view;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((LinearLayout) object);
}
}
SamplePagerAdapter pagerAdapter = new SamplePagerAdapter(MainActivity.this, Arr_Result_List);
viewPager.setAdapter(pagerAdapter);
indicator.setViewPager(viewPager);