1

私のアプリには、ページビューアーを保持するベース メイン アクティビティがあります。私が持っている活動クラスでは:

MyPagerAdapter adapter = new MyPagerAdapter(this);
viewPager.setAdapter(adapter);

アダプタ クラスは次のようになります。

private class MyPagerAdapter extends PagerAdapter {

private ArrayList<LinearLayout> views;

public MyPagerAdapter(Context context) {
    views = new ArrayList<LinearLayout>();
    views.add(new questionListView(context));
}

    @Override
    public void destroyItem(View view, int arg1, Object object) {
        ((ViewPager) view).removeView((LinearLayout) object);
    }

    @Override
    public void finishUpdate(View arg0) {

    }

    @Override
    public int getCount() {
        return views.size();
    }

    @Override
    public Object instantiateItem(View view, int position) {
        View myView = views.get(position);
        ((ViewPager) view).addView(myView);
        return myView;
    }

    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view == object;
    }

    @Override
    public void restoreState(Parcelable arg0, ClassLoader arg1) {

    }

    @Override
    public Parcelable saveState() {
        return null;
    }

    @Override
    public void startUpdate(View arg0) {

    }

    }
    }
}

questionListView クラスは次のようになります。

public class questionListView extends LinearLayout {

public questionListView(Context context, AttributeSet attrs) {
    super(context, attrs);
    init();
}

public questionListView(Context context) {
    super(context);
    init();
}

private void init() {

    LayoutInflater factory = LayoutInflater.from(getContext());
    View myView = factory.inflate(R.layout.view1,null);

    addView(myView);

}

}

主な活動のレイアウト:

<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <!--
    This title strip will display the currently visible page title, as well as the page
    titles for adjacent pages.
    -->

    <android.support.v4.view.PagerTitleStrip
        android:id="@+id/pager_title_strip"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="top"
        android:alpha="4"
        android:paddingBottom="4dp"
        android:paddingTop="4dp"
        android:textColor="#000000" />

</android.support.v4.view.ViewPager>

view1 はレイアウト ビューで、他のレイアウトを含む線形レイアウトです。

アプリを実行すると、メインのアクティビティが表示されますが、view1-layout のビューは表示されません。

ここで何が間違っているのですか?エラーは発生しません。

RG、エリック

4

1 に答える 1

0

Luksprog ヘルプが問題を解決しました。PagerTitleStrip を wrap_content に設定すると解決しました。

于 2012-11-07T21:27:11.873 に答える