Android 自定义计算机视图中的ViewPager不显示

Android 自定义计算机视图中的ViewPager不显示,android,android-viewpager,android-custom-view,Android,Android Viewpager,Android Custom View,我有一个简单的查看寻呼机和一个可以在寻呼机中显示图像的适配器。 当我创建视图寻呼机并将其添加到主布局时,一切正常。。。 但我确实想将ViewPager封装在一个包含其他元素的复合视图中,因此我对FrameLayout进行了细分: public class DatesFilterView extends FrameLayout { private final static String TAG = "DatesListFragment"; ViewPager mPager;

我有一个简单的查看寻呼机和一个可以在寻呼机中显示图像的适配器。 当我创建视图寻呼机并将其添加到主布局时,一切正常。。。 但我确实想将ViewPager封装在一个包含其他元素的复合视图中,因此我对FrameLayout进行了细分:

public class DatesFilterView extends FrameLayout
{

    private final static String TAG = "DatesListFragment";
    ViewPager mPager;

    public DatesFilterView(Context context) {this(context, null, 0);}

    public DatesFilterView(Context context, AttributeSet attrs, int defStyle) {this(context, attrs);}

    public DatesFilterView(Context context, AttributeSet attrs)
    {
        super(context, attrs);
        mPager = new ViewPager(context);



        int imageArray[] = { R.drawable.tab_active_dates, R.drawable.tab_active_events, R.drawable.tab_active_friends, R.drawable.tab_active_location };
        ImageArrayPageAdapter adapter = new ImageArrayPageAdapter(context, imageArray);
        mPager.setAdapter(adapter);
        mPager.setCurrentItem(0);

        this.addView(mPager,0);
        this.requestLayout();

        TextView tv = new TextView(context);
        tv.setText("Custom View is attached");

        this.addView(tv,1);

    }
...
因此,文本视图显示良好,但视图寻呼机根本不显示任何图像

主活动中的相同代码实际上会正确显示寻呼机

mPager = new ViewPager(context);
int imageArray[] = { R.drawable.tab_active_dates, R.drawable.tab_active_events, R.drawable.tab_active_friends, R.drawable.tab_active_location };
ImageArrayPageAdapter adapter = new ImageArrayPageAdapter(context, imageArray);
mPager.setAdapter(adapter);
mPager.setCurrentItem(0);
所以我把寻呼机嵌套在复合视图中的行为隔离开来

我忘了什么吗

编辑1: 我已将以下内容添加到页面适配器:

public int getItemPosition (Object object) { return POSITION_NONE; }

现在,第一页为空,仅在移动到下一页然后再返回后才显示..:-\

您是否在自定义控件中重写了诸如
onMeasure
onLayout
之类的方法?我想您错过了ViewPager的布局参数。尝试使用此.addView(mPager,new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_父级,FrameLayout.LayoutParams.MATCH_父级));谢谢@hieuxit我曾尝试专门定义布局参数,但没有成功(默认为FrameLayout的匹配父对象,因此不会产生任何影响)@Luksprog我没有,并且我已确保在整个层次结构中没有人这样做…@Vermanus您找到解决方案了吗?