我有一个细节活动。在这里,我正在使用分页控制器
<android.support.v4.view.ViewPager ..../>
用于片段详细信息视图。
我的代码::
ViewPager pager = (ViewPager) findViewById(R.id.pagerHandbookDetails);
/** Getting fragment manager */
FragmentManager fm = getSupportFragmentManager();
/** Instantiating FragmentPagerAdapter */
DetailsFragmentAdapter pagerAdapter = new DetailsFragmentAdapter(fm,cases);
/** Setting the pagerAdapter to the pager object */
pager.setAdapter(pagerAdapter);
pager.setCurrentItem(0);
然后,详细信息片段适配器类扩展 FragmentPagerAdapter
int PAGE_COUNT = 9;
@Override
public Fragment getItem(int arg0) {
DetailsFragment detailsFragment = new DetailsFragment();
Bundle data = new Bundle();
Log.d("Current Page", "Page " + arg0);
data.putInt("current_page", arg0);
detailsFragment.setArguments(data);
return detailsFragment;
}
课程详情片段扩展 Fragment
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle data = getArguments();
int mCurrentPage = data.getInt("current_page", 0);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
layoutPaging = (LinearLayout) v.findViewById(R.id.layoutPagingView);
for(int i = 0; i < 9; i++){
ImageView image1 = new ImageView(layoutPaging.getContext());
image1.setTag(i);
if(i == mCurrentPage)
{
image1.setImageResource(R.drawable.black_dot);
}
else
{
image1.setImageResource(R.drawable.white_dot);
}
layoutPaging.addView(image1);
}
.......
}
这样的工作正常。
所以每当我刷页面时,它显然会移动所有细节片段页面的内容。所以它也会移动我的自定义视图布局进行分页。它看起来很奇怪。
我希望此布局是静态的,并根据滑动页面更改图像内容。
如果我在主要细节类中使用此布局,那么我没有从片段适配器更改图像的当前页面值。它只是在片段细节类中更改值。
我被困在这里。请帮帮我。
任何帮助将不胜感激。
提前致谢。
答案 0 :(得分:1)
只需尝试使用此工具SimpleOnPageChangeListener
即可收听page
更改。
private static class PageListener extends SimpleOnPageChangeListener{
public void onPageSelected(int position) {
int currentPage = position;
}
}
在你的ViewPagerActivity
内写下
private PageListener pageListener;
onCreate()
方法中的就像这样
pageListener=new PageListener()
pager.setOnPageChangeListener(pageListener);
答案 1 :(得分:1)
您可以在布局中添加由以下内容提供的页面指示符:
https://github.com/Papercloud/SimpleViewPagerIndicator
您需要放置控件并将viewpager控制器的对象设置为SimpleViewPagerIndicator。您可以在那里找到示例代码和实现步骤
使用这些类,您可以获得不会随页面滚动的指标