0

我扩展了 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);

非常感谢你!

4

2 回答 2

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
}
于 2013-07-15T13:43:36.187 回答
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);
于 2013-07-15T13:45:34.087 回答