-4
有一个名称列表,我想在移动屏幕上一次显示一个名称,并滑动该活动以查看另一个名称。尝试使用viewpager,但成功地多次显示一个文本视图,而不是如何在viewpager中实现列表。一次显示一个列表项 - Android
有一个名称列表,我想在移动屏幕上一次显示一个名称,并滑动该活动以查看另一个名称。尝试使用viewpager,但成功地多次显示一个文本视图,而不是如何在viewpager中实现列表。一次显示一个列表项 - Android
您必须为此创建自定义适配器,该适配器将包含您的数组列表,并将其填充到TextView中。
首先要定义适配器
public class ViewPagerAdapter extends PagerAdapter {
// Declare Variables
Context context;
int[] flag;
LayoutInflater inflater;
int pos;
public ViewPagerAdapter(Context context, int[] flag) {
this.context = context;
this.flag = flag;
}
public ViewPagerAdapter (Context context, int[] flag, int position){
this.context = context;
this.flag = flag;
this.pos = position;
}
@Override
public int getCount() {
return flag.length;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((RelativeLayout) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
// Declare Variables
TextView txt;
inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View itemView = inflater.inflate(R.layout.viewpager_item, container,
false);
// Locate the ImageView in viewpager_item.xml
txt= (TextView) itemView.findViewById(R.id.flag);
// Capture position and set to the ImageView
txt.setText(flag[position]);
txt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
// Add viewpager_item.xml to ViewPager
((ViewPager) container).addView(itemView);
return itemView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// Remove viewpager_item.xml from ViewPager
((ViewPager) container).removeView((RelativeLayout) object);
}
}
现在加上适配器将viewPager这样
adapter = new ViewPagerAdapter(Image.this, flag);//Here Flag is array
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(possition);
希望这有助于
发布您的代码? – user2025187