2017-04-10 38 views
0

我嘗試使用finish(),但最終像同樣的問題,每次它首次進入相同的活動。如果我使用意圖返回意味着結果活動得到重新加載,所以對於這種情況下,我只需要onBackPressed()函數。onBackpressed()第一次去同樣的活動

mToolbar.setNavigationOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 

    if(type.equals(AppConstantsUtils.VIDEO)) { 

     onBackPressed(); 

    } 
    else{ 
     onBackPressed(); 

    } 

這是我使用的Tabfragment

private void setupUi(View view) { 
mMediaVp = (ViewPager) view.findViewById(R.id.media_view_pager); 
mMediaVp.setOffscreenPageLimit(3); 
mTabLayout = (TabLayout) view.findViewById(R.id.media_tab_layout); 
mTabLayout.setVisibility(View.GONE); 
ArrayList<Fragment> fragments = new ArrayList<>(3); 
if(pos.equals("1")) { 
    fragments.add(new PhotoListFragment()); 
} 
else if(pos.equals("2")) { 
    fragments.add(new VideoListFragment()); 
} 
else if(pos.equals("3")) { 
    fragments.add(new AudioListFragment()); 
} 
else{ 
    fragments.add(new VideoListFragment()); 
} 

ArrayList<String> titles = new ArrayList<>(3); 
if(pos.equals("1")) { 
    titles.add("Photos"); 
} 
    else if(pos.equals("2")) { 

    titles.add("Videos"); 
} 
    else if(pos.equals("3")) { 
    titles.add("Audios"); 
    } 
    else { 
    titles.add("Videos"); 
    } 
mAdapter = new TabsPagerAdapter(getFragmentManager(), titles, fragments); 
mMediaVp.setAdapter(mAdapter); 
mTabLayout.setupWithViewPager(mMediaVp); 
} 
+0

你的if-else語句對兩種情況都做同樣的動作... – AlexTa

+0

我已經使用Intent for vid類型befor,這就是我沒有移除它的原因。 –

+0

你在片段上使用onBackPressed()嗎? –

回答

0

您是因爲之前使用fragements你應該閱讀this。 您只能使用onBackPressed(),當您調用onBackPressed()時,您必須將碎片添加到backstack以導航到碎片並彈出備份。希望有幫助

相關問題