[英]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.