从ViewPager共享TextView的内容可以通过以下步骤实现:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<androidx.viewpager.widget.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
public class MyPagerAdapter extends PagerAdapter {
private List<String> textList;
public MyPagerAdapter(List<String> textList) {
this.textList = textList;
}
@Override
public int getCount() {
return textList.size();
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
return view == object;
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
LayoutInflater inflater = LayoutInflater.from(container.getContext());
View view = inflater.inflate(R.layout.page_item, container, false);
TextView textView = view.findViewById(R.id.textView);
textView.setText(textList.get(position));
container.addView(view);
return view;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView((View) object);
}
}
ViewPager viewPager = findViewById(R.id.viewPager);
TextView textView = findViewById(R.id.textView);
List<String> textList = new ArrayList<>();
textList.add("Page 1");
textList.add("Page 2");
textList.add("Page 3");
MyPagerAdapter pagerAdapter = new MyPagerAdapter(textList);
viewPager.setAdapter(pagerAdapter);
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
textView.setText(textList.get(position));
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
通过以上步骤,你可以实现从ViewPager共享TextView的内容。当ViewPager滑动到不同的页面时,TextView会显示对应页面的内容。
领取专属 10元无门槛券
手把手带您无忧上云