ViewPager 实现界面加载不同的数据
生活随笔
收集整理的這篇文章主要介紹了
ViewPager 实现界面加载不同的数据
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
demo 地址
下面是要要實現的效果圖
有點類似RecyclerView 不過這個ViewPager 實現的
數據呢也是在adapter 中實現呢, 下面就直接上代碼看看把?
public class ViewPagerAdapdter extends PagerAdapter {private ArrayList<View> mList;private Context context;private ArrayList<DataBean> mData;private TextView title;private TextView content;private TextView label;private TextView time;private ImageView img;public ViewPagerAdapdter() {}public ViewPagerAdapdter(ArrayList<View> mList, Context context, ArrayList<DataBean> mData) {this.mList = mList;this.context = context;this.mData = mData;}@Overridepublic int getCount() {return this.mList.size();}@Overridepublic boolean isViewFromObject(@NonNull View view, @NonNull Object object) {return view == object;}@Overridepublic void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {container.removeView(this.mList.get(position));}@NonNull@Overridepublic Object instantiateItem(@NonNull ViewGroup container, int position) {View view = mList.get(position);title = view.findViewById(R.id.title);content = view.findViewById(R.id.content);label = view.findViewById(R.id.label);time = view.findViewById(R.id.time);img = view.findViewById(R.id.img);setData(position);container.addView(view);return view;}private void setData(int position) {title.setText(mData.get(position).getTitle());content.setText(mData.get(position).getContent());label.setText(mData.get(position).getLabel());time.setText(mData.get(position).getTime());img.setImageResource(mData.get(position).getImg());}}
?activity 代碼
public class DataViewActivity extends AppCompatActivity {private ViewPager viewPager;private ArrayList<View> mList = new ArrayList<>();private ArrayList<DataBean> mData;private ViewPagerAdapdter adapdter;@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.data_view_activity_layout);viewPager = findViewById(R.id.viewpager);mData = new ArrayList<>();mData.add(new DataBean("昨天心情很不好", "難得的聚會時刻,既然有人突然離開了", "心情", "2018/10/20", R.mipmap.one));mData.add(new DataBean("今天心情很特別好", "難得的聚會時刻,大家一起開懷暢飲", "活躍", "2018/10/21", R.mipmap.two));mData.add(new DataBean("明天心情預計好的不得了", "曉天機預測明天大家將會有好運", "預測", "2018.20/22", R.mipmap.three));for (int i = 0; i < mData.size(); i++) {View view = LayoutInflater.from(this).inflate(R.layout.view_pager_layout, null);mList.add(view);}adapdter = new ViewPagerAdapdter(mList, this, mData);viewPager.setAdapter(adapdter);viewPager.setCurrentItem(0);}
}
DataBean 數據如下
public class DataBean {private String title;private String content;private String label;private String time;private int img;public DataBean(String title, String content, String label, String time, int img) {this.title = title;this.content = content;this.label = label;this.time = time;this.img = img;}public String getContent() {return content;}public void setContent(String content) {this.content = content;}public String getLabel() {return label;}public void setLabel(String label) {this.label = label;}public String getTime() {return time;}public void setTime(String time) {this.time = time;}public int getImg() {return img;}public void setImg(int img) {this.img = img;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}
}
?
總結
以上是生活随笔為你收集整理的ViewPager 实现界面加载不同的数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Fragment 使用 replace
- 下一篇: 琥珀多少钱一克啊?