我已经扩展了ViewPager以解决它产生的一些错误:
public class ChildViewPager extends ViewPager {
//work out code
}
现在我正在尝试设置我的寻呼机视图
使用普通的ViewPager,它可以正常工作:
mViewPager = (ViewPager)findViewById(R.id.pager);
这在布局中:
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="30dp" />
但如果我需要投射到ViewPager的子节点, 我当然不能这样做:
mViewPager = (ChildViewPager)findViewById(R.id.pager);
非常感谢!
答案 0 :(得分:1)
如果我没有被误解,你应该改变
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="30dp" />
带
<path.to.ChildViewPager
android:id="@+id/pager"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="30dp" />
否则您将获得ClassCastException
public class ChildViewPager extends ViewPager {
public ChildViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
//work out code
}
答案 1 :(得分:1)
在布局文件中,而不是 android.support.v4.view.ViewPager ,添加ChildViewPager类的完全限定路径。
示例:
<com.taniasApp.ChildViewPager
android:id="@+id/pager"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="30dp" />
并在java Activity类中:
ChildViewPager mViewPager = (ChildViewPager)findViewById(R.id.pager);