2017-06-24 22 views
1

私は3つの画面をスワイプできるSnapchatのフレームワークと同様のフレームワークを持つアプリケーションを作成しようとしています。私は3つの画面を持っていて(それぞれの部分で作られています)、ボタンを押すと画面にスライドしたいと思っています。ちょうど明らかにするために、私は1つの画面にテーブルを持っています。そこから行がクリック可能であり、onClick()を呼び出す関数があります。上記の関数を使用して、目的のフラグメントにスライドしたいと思います。フラグメントからフラグメントに切り替えるonClick()

Fragment.Java:私が延びPagerAdapterを使用することにより断片を通じてスワイプてる

public class ChatFragment extends Fragment { 

    @Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.chat_fragment_layout, container, false); 
     rootView.findViewById(R.id.row0).setOnClickListener(new View.OnClickListener(){ 
      @Override 
      public void onClick(View v){ 
       openfrag("1"); 
      } 
     }); 
     rootView.findViewById(R.id.row1).setOnClickListener(new View.OnClickListener(){ 
      @Override 
      public void onClick(View v){ 
       openfrag("2"); 
      } 
     }); 
     rootView.findViewById(R.id.row2).setOnClickListener(new View.OnClickListener(){ 
      @Override 
      public void onClick(View v){ 
       openfrag("3"); 
      } 
     }); 

     return rootView; 
    } 
    private void openfrag(String number){ 
    } 

FragmentPagerAdapter:私はfragmentmanagerと置き換える方法を試してみましたが、それはないです

public class PagerAdapter extends FragmentPagerAdapter { 

    public PagerAdapter(FragmentManager fm) { 
     super(fm); 

    } 

    @Override 
    public Fragment getItem(int arg0) { 
     switch (arg0) { 
      case 0: 

       return new MessageFragment(); 
      case 1: 
       return new ChatFragment(); 
      case 2: 
       return new CameraFragment(); 
      default: 
       break; 
     } 
     return null; 
    } 

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

私が望むものは、私がその断片にスワイプしたように振る舞いたい。 助けてくれてありがとう。

+0

'Activity'で' interface'を使用してcallackを作成します。 –

答えて

0

あなたは、単にこの与えられたコード

 String tag = "android:switcher:" + R.id.pager + ":" + 0; 
     AddStudentFragment f = (AddStudentFragment) getActivity().getSupportFragmentManager().findFragmentByTag(tag); 
     String tag1 = "android:switcher:" + R.id.pager + ":" + 1; 
     AssignSubjectFragment a = (AssignSubjectFragment) getActivity().getSupportFragmentManager().findFragmentByTag(tag1); 
0

を使用することができます私はそれがのonCreateメソッドの外私のMainActivityクラスに少量の添加で動作するように得ることができました。ポケベルの別のフラグメントに切り替える必要があるときは、スクロールをスムーズにするかどうかによって、アイテムインデックスとtrue/falseを指定してこの関数を呼び出すだけです。

public void setCurrentItem (int item, boolean smoothScroll) { 
     mViewPager.setCurrentItem(item, smoothScroll); 
    } 
関連する問題