我有一个简单的视图寻呼机和一个可以在寻呼机中显示图像的适配器。 当我创建视图寻呼机并将其添加到主布局时,一切正常...... 但我真的想将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; }
现在第一页是空的,只有在移动到下一页然后再返回后才显示..:\