Ash*_*win 23 android android-viewpager
我正在使用FragmentStatePagerAdapter我的View Pager.如果isViewFromObject (View view, Object object)返回,则返回的片段不会显示在屏幕上false.这是为什么?
开发人员说,Determines whether a page View is associated with a specific key object as returned by instantiateItem(ViewGroup, int). This method is required for a PagerAdapter to function properly.但我不清楚这个定义.
Kus*_*hal 18
该方法 instantiateItem(ViewGroup, int)返回Object特定视图.PagerAdapter实现考虑这个Object作为key当viewpager更改页面时,值.
因此,如果我们从中返回视图本身instantiateItem(ViewGroup, int),那么我们key对该页面的视图就会成为视图本身.我们可以检查return view == object;从isViewFromObject (View view, Object object)其中将始终返回true,我们的页面会显示:
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
Run Code Online (Sandbox Code Playgroud)
来自/sf/answers/1174057531/的更多见解:
滑动时,ViewPager从数组中获取视图位置或实例化它,并将此视图与ViewPager带适配器方法的子视图进行比较public boolean isViewFromObject(View view, Object object).等于对象的视图显示给用户ViewPager.如果没有视图,则显示空白屏幕.
以下是ViewPager将视图与object进行比较的方法:
ItemInfo infoForChild(View child) {
for (int i=0; i<mItems.size(); i++) {
ItemInfo ii = mItems.get(i);
if (mAdapter.isViewFromObject(child, ii.object)) {
return ii;
}
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8402 次 |
| 最近记录: |