gpt4 book ai didi

android - 检测 ViewPager 上的 View 更改

转载 作者:太空宇宙 更新时间:2023-11-03 11:38:16 25 4
gpt4 key购买 nike

我正在通过 SwipeyTabsAdapter 库 ViewPager ViewPagerExtensions (com.astuetz.viewpager.extensions) 水平实现。无论如何要在改变 View 时进行拦截?同样,我可以随时知道用户在什么 View 中?

ViewPager的代码

public class DiccionariuPagerAdapter extends PagerAdapter {

protected transient Activity mContext;

private int mLength = 0;

public DiccionariuPagerAdapter(Activity context, int length) {
mContext = context;
mLength = length;
}

@Override
public int getCount() {
return mLength;
}

@Override
public Object instantiateItem(View container, int position) {

RelativeLayout v = new RelativeLayout(mContext);

View vi; // Creating an instance for View Object
LayoutInflater inflater = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

if (position == 0) {
vi = inflater.inflate(R.layout.diccionariu, null);
}
else if (position == 1) {
vi = inflater.inflate(R.layout.conxugar, null);
}
else {
vi = inflater.inflate(R.layout.traducir, null);
}

v.addView(vi);

//v.addView(t);

((ViewPager) container).addView(v, 0);

startUpdate(container);

return v;
}

@Override
public void destroyItem(View container, int position, Object view) {
((ViewPager) container).removeView((View) view);
}

@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((View) object);
}

@Override
public void finishUpdate(View container) {}

@Override
public void restoreState(Parcelable state, ClassLoader loader) {}

@Override
public Parcelable saveState() {
return null;
}

@Override
public void startUpdate(View container) {}

}

非常感谢

最佳答案

要获取当前项目使用:

int itemId = ViewPager.getCurrentItem()

这样你就可以从你的适配器中检索实际的 View

Adapter.getItem(itemId)

你也可以使用监听器OnPageChangeListener

viewPager.setOnPageChangeListener(new OnPageChangeListener...

关于android - 检测 ViewPager 上的 View 更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10122963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com