PageViewer没有通过类显示视图

时间:2012-11-04 22:38:28

标签: android android-layout android-widget

对于我的应用程序,我有一个基本主要活动,它包含一个页面浏览器。 在活动课中我有:

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是一个布局视图,一个包含其他布局的linearlayout。

当我运行应用程序时,会显示主要活动,但不包含view1-layout的视图。

为什么不呢,我在这里做错了什么? 我没有收到任何错误。

RG, 埃里克

1 个答案:

答案 0 :(得分:0)

Luksprog帮助解决了这个问题。 将PagerTitleStrip设置为wrap_content解决了它。