ita*_*ika 3 android android-viewpager
我正在通过SwipeyTabsAdapter实现一个水平的ViewPager ViewPagerExtensions(com.astuetz.viewpager.extensions).换句话时有没有拦截?以同样的方式,我可以随时知道用户在什么视图中?
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) {}
}
Run Code Online (Sandbox Code Playgroud)
非常感谢你
要获取当前项目:
int itemId = ViewPager.getCurrentItem()
Run Code Online (Sandbox Code Playgroud)
有了它,您可以从适配器中检索实际视图
Adapter.getItem(itemId)
Run Code Online (Sandbox Code Playgroud)
您也可以使用监听器 OnPageChangeListener
viewPager.setOnPageChangeListener(new OnPageChangeListener...
Run Code Online (Sandbox Code Playgroud)
编译和工作:
~~~
mPager.setOnPageChangeListener(new OnPageChangeListener()
{
@Override
public void onPageSelected(int position)
{
// if listener is set - when using an indicator, must update that here
mIndicator.setCurrentItem(position);
String msg = "onPageSelected - position: " + position;
Log.d("debug1", msg);
}
@Override
public void onPageScrollStateChanged(int state) {}
@Override
public void onPageScrolled(int position, float arg1, int arg2) {}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8073 次 |
| 最近记录: |