[英]android how to set particular item position for viewpager when onBackPressed()?
//这是viewpager的适配器
public void setupViewPager(){
pageAdapter = new PageAdapter(getSupportFragmentManager());
pageAdapter.addFragment(FragmentDesigns.newInstance(), "INDIAFILINGS");
icfo = ICFO.newInstance();
pageAdapter.addFragment(icfo, "iCFO PLATFORM");
viewPager.setAdapter(pageAdapter);
tabLayout.setupWithViewPager(viewPager);
// here code to set particular item in viewpager
int pageRedirect;
pageRedirect=CommonClass.getPageRedirect();
try {
if(pageRedirect!=0){
viewPager.setCurrentItem(1);
}
}catch (Exception e){
e.printStackTrace();
}
}
我正在用两个片段实现viewpager
在第二个片段中,我有数据列表,如果用户从列表中选择任何项目,它将重定向到另一个活动。如果用户在活动中执行onbackPress
,我想将viewpager
第二个片段设置为当前片段
注意:问题是当我做onbackPress
的应用程序越来越近
在第二个活动中覆盖onBackPressed方法,以免发生系统默认行为
@Override
public void onBackPressed() {
Intent firstintent = new Intent(context,Firstactivity.class);
firstintent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(firstintent);
}
这将打开第一个活动,关闭第二个活动并将结果传递到第一个活动的onNewIntent中
在您的第一个活动中,覆盖onNewIntent,以便找到反向按下结果
@Override
protected void onNewIntent(Intent intent) {
yourvp.setCurrentItem(positionyouneed);
}
这应该为您解决问题
@Override
public void onBackPressed() {
if (viewPager.getCurrentItem() != 0) {
viewPager.setCurrentItem(secondViewpagerItemPostion,false);
}else{
super.onBackPressed();
}
}
将您的当前视图分页器位置存储在sharepref中,如果不为null,则检查它的位置,然后viewpager.setCurrentItem(shareprefPosition);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.