Android 在ListView滚动中获取ViewPager的上一页
我在ListView项中有一个ViewPager。在ListView scroll上,我想获取我在ViewPager中选择的上一页 我已经试着把这个职位设置为Android 在ListView滚动中获取ViewPager的上一页,android,android-listview,Android,Android Listview,我在ListView项中有一个ViewPager。在ListView scroll上,我想获取我在ViewPager中选择的上一页 我已经试着把这个职位设置为 vPager.setTag(position) 但是没有找到检索上一页的方法` 这是我的ListView的getView() public View getView(int position, View view, ViewGroup vGroup) { inflater = (LayoutInflater) context
vPager.setTag(position)
但是没有找到检索上一页的方法`
这是我的ListView的getView()
public View getView(int position, View view, ViewGroup vGroup) {
inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
vRow=view;
final ContentHolder holder;
if(view==null){
holder=new ContentHolder();
vRow=inflater.inflate(R.layout.activity_swipe_view_pager, null);
holder.vPager=(ViewPager) vRow.findViewById(R.id.ui_pager);
holder.radiogrp=(RadioGroup) vRow.findViewById(R.id.ui_radiogroup);
int pageCount=integer.length;
addRadio=new AddRadioViewSwipe(context, pageCount);
addRadio.addRadio(holder.radiogrp);
try{
holder.radiogrp.getChildAt(0).setAlpha(1.0f);
}
catch(Exception e){
Log.d("loop", "error"+e);
}
vRow.setTag(holder);
}
else{
holder=(ContentHolder) vRow.getTag();
}
ViewPagerAdapter pagerAdpt=new ViewPagerAdapter(context, integer,R.layout.activity_viewpager_model);
holder.vPager.setAdapter(pagerAdpt);
holder.vPager.setOffscreenPageLimit(3);
holder.vPager.setTag(position);
holder.vPager.setPageMargin(-150);
holder.vPager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
Log.d("pos", ""+position);
if(holder.vPager.isShown()){
}
for(int i=0;i<integer.length;i++){
holder.radiogrp.getChildAt(integer.length-(i+1)).setAlpha(0.5f);
}
holder.radiogrp.getChildAt(position).setAlpha(1.0f);
Log.d("pos", ""+position+"");
}
@Override
public void onPageScrolled(int position, float arg1, int arg2) {
Log.d("t1", ""+position);
}
@Override
public void onPageScrollStateChanged(int arg0) {
Log.d("t1...", ""+arg0);
}
});
return vRow;
}
public View getView(int位置、视图视图、视图组vGroup){
充气器=(充气器)上下文
.getSystemService(上下文布局\充气机\服务);
vRow=视图;
最终内容持有人;
如果(视图==null){
holder=新的ContentHolder();
vRow=充气机。充气(R.layout.activity\u swipe\u view\u pager,空);
holder.vPager=(ViewPager)vRow.findViewById(R.id.ui_pager);
holder.RadioRP=(RadioGroup)vRow.findViewById(R.id.ui_RadioGroup);
int pageCount=integer.length;
addRadio=新的AddRadioViewSwipe(上下文、页面计数);
addRadio.addRadio(支架.射线照片);
试一试{
支架.射线照片.getChildAt(0).setAlpha(1.0f);
}
捕获(例外e){
日志d(“循环”、“错误”+e);
}
vRow.setTag(支架);
}
否则{
holder=(ContentHolder)vRow.getTag();
}
ViewPagerAdapter pagerAdpt=新ViewPagerAdapter(上下文、整数、R.layout.activity\u viewpager\u模型);
固定器vPager setAdapter(pagerAdpt);
holder.V Ager.setOffscreenPageLimit(3);
保持架.vPager.setTag(位置);
holder.vPager.setPageMargin(-150);
holder.vPager.setOnPageChangeListener(新的OnPageChangeListener(){
@凌驾
已选择页面上的公共无效(内部位置){
Log.d(“位置”,“位置+”);
if(holder.vPager.isShown()){
}
对于(int i=0;i这对我来说很有效:
Parcelable state=holder.vPager.onSaveInstanceState();
holder.vPager.setAdapter(pagerAdpt);
holder.vPager.onRestoreInstanceState(state);
请张贴一些示例代码。我不能清楚地理解你的问题。