2016-05-12 6 views
0

私は2つの断片活動があります。今私はこの間に移動したいです。また、私は最初のフラグメント活動の終了後にこれをしたいと思います。ここで どのように2つの断片の間の動きは、お互いにアンドロイドで活動する

は、私のフラグメントアクティビティクラスです

MainActivity.java

import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentActivity; 
import android.support.v4.app.FragmentManager; 
import android.support.v4.app.FragmentPagerAdapter; 
import android.support.v4.view.ViewPager; 
import android.os.Bundle; 
import android.view.MotionEvent; 
import android.view.View; 

public class MainActivity extends FragmentActivity { 

    private ViewPager pager; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     final int page=2; 

     pager = (ViewPager) findViewById(R.id.viewPager); 

     pager.setAdapter(new MyPagerAdapter(getSupportFragmentManager())); 
     pager.setOnTouchListener(new View.OnTouchListener() { 
      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       if (pager.getCurrentItem()==page) { 
        return true; 
       } 
       return false; 
      } 
     }); 

    } 

    private class MyPagerAdapter extends FragmentPagerAdapter { 

     public MyPagerAdapter(FragmentManager fm) { 
      super(fm); 
     } 

     @Override 
     public Fragment getItem(int pos) { 
      switch(pos) { 

       case 0: return FirstFragment.newInstance("FirstFragment"); 
       case 1: return SecondFragment.newInstance("SecondFragment"); 
       case 2: return ThirdFragment.newInstance("ThirdFragment"); 
       case 3: return FourthFragment.newInstance("FourthFragment"); 
       case 4: return FifthFragment.newInstance("FifthFragment"); 
       default: return ThirdFragment.newInstance("DefaultFragment"); 
      } 
     } 

     @Override 
     public int getCount() { 
      return 5; 
     } 



    } 

    public void setCurrentItem(int which) { 
     if(pager != null && which >= 0 && which <= 4) { 
      pager.setCurrentItem(which); 
     } 
    } 
} 

SecondActivity.java

import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentActivity; 
import android.support.v4.app.FragmentManager; 
import android.support.v4.app.FragmentPagerAdapter; 
import android.support.v4.view.ViewPager; 
import android.os.Bundle; 
import android.view.MotionEvent; 
import android.view.View; 

public class SecondActivity extends FragmentActivity { 

    private ViewPager pager; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_second); 

     final int page=2; 

     pager = (ViewPager) findViewById(R.id.viewPager_1); 

     pager.setAdapter(new MyPagerAdapter2(getSupportFragmentManager())); 
     pager.setOnTouchListener(new View.OnTouchListener() { 
      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       if (pager.getCurrentItem()==page) { 
        return true; 
       } 
       return false; 
      } 
     }); 

    } 

    private class MyPagerAdapter2 extends FragmentPagerAdapter { 

     public MyPagerAdapter2(FragmentManager fm) { 
      super(fm); 
     } 

     @Override 
     public Fragment getItem(int pos) { 
      switch(pos) { 

       case 0: return FirstFragment_1.newInstance("FirstFragment_2"); 
       case 1: return SecondFragment_1.newInstance("SecondFragment_2"); 
       case 2: return ThirdFragment_1.newInstance("ThirdFragment_2"); 
       case 3: return FourthFragment_1.newInstance("FourthFragment_2"); 
       case 4: return FifthFragment_1.newInstance("FifthFragment_2"); 
       default: return ThirdFragment_1.newInstance("DefaultFragment_2"); 
      } 
     } 

     @Override 
     public int getCount() { 
      return 5; 
     } 



    } 

    public void setCurrentItem(int which) { 
     if(pager != null && which >= 0 && which <= 4) { 
      pager.setCurrentItem(which); 
     } 
    } 
} 

問題どのように私はこれを行うことができますか?

+0

正確にしたいことをより明確にしてください。 –

+0

正確に何をしたいのですか?何をしたいのか2つの断片があるのを手に入れます –

答えて

0

FirstActivityの5番目のフラグメント(fifthFragment.java)とondetach()メソッドの中で、OnDetach()メソッドをオーバーライドしようとします。getActivity()。startActivity(secondActivity);

+0

サンプルを詳細に提供できますか? – Barrier

関連する問題