我正在我的应用中扩展ViewPager
我也设置了适配器,并验证instantiateItem
是否已运行
问题是我看不到任何东西。使用开发设置我发现我的课确实占用了空间,这就是为什么我猜测页面的创建存在问题。
public CalendarView(Context context, AttributeSet attrs) {
super(context, attrs);
mContext = context;
mTodayCalendar = Calendar.getInstance();
mTodayCalendar.setFirstDayOfWeek(Calendar.SUNDAY);
mTodayCalendar.set(Calendar.DAY_OF_MONTH, 1);
this.setAdapter(new MonthPagerAdapter());
this.setCurrentItem(1);
this.setLayoutParams(new ViewGroup.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
}
这是我的instantiateItem
实施:
public Object instantiateItem(ViewGroup container, int position) {
Log.i("ViewPager-instantiateItem()", "runs!");
mTodayCalendar = Calendar.getInstance(Locale.getDefault());
mTodayCalendar.set(Calendar.DAY_OF_MONTH, 1);
mTodayCalendar.setFirstDayOfWeek(Calendar.SUNDAY);
switch(position) {
case 0:
mTodayCalendar.add(Calendar.MONTH, -1);
break;
case 2:
mTodayCalendar.add(Calendar.MONTH, 1);
break;
}
View mCalView = getCalendar();
((ViewPager) container).addView(mCalView, position);
return mCalView;
}
getCalendar()
是一个返回日历视图的函数(LinearLayout
)。我知道它确实有效。
如果是这样,还有什么可能是问题?