Android PagerAdapter在刷卡时更改文本视图
我用PagerAdapter浏览了几个图像视图,效果非常好。我有一群人在画廊里,我想为他们添加一个个人姓名/描述(id:speaker_name)。我所要做的就是对他们的描述都是一样的。我对这一点完全陌生,我现在正在努力一天让它发挥作用。我找到的所有解决方案都使用了片段或OnPageChangeListener,但我不知道如何实现它 这就是我得到的:Android PagerAdapter在刷卡时更改文本视图,android,android-pageradapter,Android,Android Pageradapter,我用PagerAdapter浏览了几个图像视图,效果非常好。我有一群人在画廊里,我想为他们添加一个个人姓名/描述(id:speaker_name)。我所要做的就是对他们的描述都是一样的。我对这一点完全陌生,我现在正在努力一天让它发挥作用。我找到的所有解决方案都使用了片段或OnPageChangeListener,但我不知道如何实现它 这就是我得到的: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true">
<android.support.v4.view.ViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/basicBackground">
</android.support.v4.view.ViewPager>
<TextView
android:id="@+id/speaker_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="50sp"
android:text="The Name"
android:textAlignment="center"
android:textColor="@android:color/white"
android:textSize="30sp" />
</FrameLayout>
</RelativeLayout>`
活动:
public class SpeakerActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.speaker_activity);
ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager);
ImageAdapter adapter = new ImageAdapter(this);
viewPager.setAdapter(adapter);
}
}
要在刷卡时更改文本视图文本,可以在oncreate()方法中执行此操作:
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
switch (position){
case 0:
//Do stuff
textview.setText("Ben");
break;
case 1:
//Do stuff
textview.setText("Brett");
break;
//Add other cases for the pages
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
这是实现viewpagerOnPageChangeListener()对我来说最好的方法。让我给你一个基本的想法
欢迎来到SO!查看这篇关于如何提出一个好问题的帖子:。在这种情况下,我想你需要告诉我们你犯了什么错误。我爱你
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
switch (position){
case 0:
//Do stuff
textview.setText("Ben");
break;
case 1:
//Do stuff
textview.setText("Brett");
break;
//Add other cases for the pages
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
});