ViewPager可以在自定义对话框中使用吗?

时间:2012-06-29 07:33:12

标签: android dialog nullpointerexception android-viewpager

我正在尝试在自定义对话框中使用ViewPager ...是否可以使用?我在自定义对话框xml中使用了v4支持库“android.support.v4.view.ViewPager”。

当我运行应用程序时,ViewPager对象会抛出nullpointerexception ..

请帮助

我的自定义对话框xml文件如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:minWidth="300dp"
    android:minHeight="400dp"
    android:orientation="vertical" >

    <android.support.v4.view.ViewPager
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/myfivepanelpager"
        android:tag="test"/>
</LinearLayout>

我在viewpager中添加了5个页面,我使用PagerAdapter添加了...

以下代码出现在主要活动onCreate()方法中:

Dialog d = new Dialog(this);
Window window = d.getWindow();
window.setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND, WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
d.setTitle("Dialog");
d.setContentView(R.layout.dialog);

final MyPagerAdapter adapter = new MyPagerAdapter();
final ViewPager myPager = (ViewPager) findViewById(R.id.myfivepanelpager);
myPager.setAdapter(adapter);
myPager.setCurrentItem(2);

这里我的寻呼机返回null ...当我运行代码时,它显示nullpointerexception

1 个答案:

答案 0 :(得分:2)

如果您在R.layout.dialog中使用ViewPager,则必须在初始化时提供视图对象的引用。像这样更改你的代码,

final ViewPager myPager = (ViewPager)d. findViewById(R.id.myfivepanelpager); 

像我在这里一样添加对话框“d”并检查。