2

カスタムダイアログ内で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>

そして、PagerAdapterを使用して追加したviewpagerに5ページを追加しました...

以下のコードは、メインアクティビティの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が表示されます

4

1 に答える 1

2

ViewPagerをR.layout.dialog使用している場合は、初期化するときにビューオブジェクトの参照を指定する必要があります。このようにコードを変更し、

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

ここで行ったように、ダイアログのオブジェクト「d」を追加して確認します。

于 2012-06-29T07:52:16.363 に答える