2017-04-10 7 views
0

私はfinish()も試してみましたが、同じ問題のようになります。初めて同じアクティビティになるたびに。私が目的を使用する場合、結果のアクティビティがリロードされることを意味します。その場合、私はonBackPressed()関数だけが必要です。onBackpressed()初めて同じアクティビティに行く

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

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

     onBackPressed(); 

    } 
    else{ 
     onBackPressed(); 

    } 

これは、私はあなたがthisを読むべきfragementsを使用しているためです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

私はVIDタイプbeforのためにインテントを使用しました。それは、私がまだそれを削除しなかった理由です。 –

+0

FragmentでonBackPressed()を使用していますか? –

答えて

0

の前で使用しています。 onBackPressed()を使用することはできません。onBackPressed()を呼び出すと、フラグメントとポップバックにナビゲートするときに、バックスタックにフラグメントを追加する必要があります。希望

関連する問題