我已经创建了一个viewpager,它显示了3个相似的片段。这些片段具有相同的布局,并且这些布局中的视图具有相同的ID(例如:DetailedPowerFragment中的RatingBar具有id详细的评级条,并且DetailedWaterFragment中的RatingBar也是如此)三个片段的视图具有相同的ID导致奇怪的行为
但是,当我尝试设置RatingBar与findViewById分别在每个片段中似乎找到了不同的RatingBar。
所以
final RatingBar ratingBar = (RatingBar)getSherlockActivity().findViewById(R.id.ratingBar);
ratingBar.setEnabled(false);
在DetailedWaterFragment
,将设置在DetailedPowerFragment中的RatingBar。下面你会看到创建viewpager的代码,如果这是相关的 - 但是是什么导致了这个问题?我是否需要为我的所有观点提供一个新的ID以确保这不会发生?
detailedFragments = new ArrayList<SherlockFragment>();
detailedFragments.add(new DetailedPowerFragment());
detailedFragments.add(new DetailedHeatFragment());
detailedFragments.add(new DetailedWaterFragment());
mMyFragmentPagerAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager(), detailedFragments);
mViewPager.setAdapter(mMyFragmentPagerAdapter);
不确定要在这里明白,为什么你创建了3次相同的布局?为什么不创建只有一个和使用它的3个片段? – 2013-05-07 06:53:37