4

私はいくつかのビュー (5 としましょう?) を持つビューページャーを使用しようとしていますが、ビューの 1 つ (3 番目のビューとしましょう?) に別のビューページャーを配置する必要があるため、しばらく検索した後、いくつかのビューページャーを作成しました。自分の状況に対して正確な答えを得ることができなかった質問。

  • 別のビューページャーのフラグメント内にビューページャーを実装するにはどうすればよいですか?
  • 上記のタスクを実行できる場合、ビューページャーのタッチ機能はどのように処理されますか? 内側のビューページャーのビューを変更すると、外側のページャーに影響しませんか?

コードのようなソリューションは本当に必要ありませんが、コンセプトのようなソリューションに似ているので、誰かにコーディングを依頼しているわけではありませんが、Android からは静かに離れており、新しいコンセプトについては長所。

前もって感謝します。

編集:

わかりました、ある時点でそれを行うことができましたが、現在直面している別の問題があります。ビューページャーを含むフラグメントへの呼び出しは次のとおりです。

Fragment fragment = new Fragment();
switch(position)
{
    case 0: fragment = new CalendarFragment();break;
    case 1: fragment = new DummySectionFragment();
            Bundle args = new Bundle();
            args.putInt(DummySectionFragment.ARG_SECTION_NUMBER, 2);
            fragment.setArguments(args);break;
}
return fragment;

そして、これは calendarFragment クラスの oncreate です:

public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
    View cal = inflater.inflate(R.layout.calendar, container, false);
    viewPager = (ViewPager) cal.findViewById(R.id.calendar_pager);
    viewPager.setOnTouchListener( new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
        if(event.getAction() == MotionEvent.ACTION_DOWN && v instanceof ViewGroup) {
                ((ViewGroup) v).requestDisallowInterceptTouchEvent(true);
            }
        return false;
    }
    });
    viewPager.setAdapter(createCalendarAdaptor());
    viewPager.setCurrentItem(MONTHS_LIMIT / 2);
    viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageSelected(int arg0) {
            //updateResetButtonState();
        }

        @Override
        public void onPageScrollStateChanged(int arg0) {
        }

        @Override
        public void onPageScrolled(int arg0, float arg1, int arg2) {
        }
    });
    return cal;
}

最初のフラグメントでカレンダーを取得し、問題なく動作し、次のページに簡単にスクロールして、最初のページに簡単に戻ることができますが、3 ページ目に移動してから最初のページに戻ると、これは私の他のビューページャーで、エラーが発生します:

java.lang.IllegalStateException: Recursive entry to executePendingTransactions

なぜそれが起こっているのかよくわかりません.いくつかの検索を行ったところ、フラグメント内でビューページャーを使用しているためだと思われます...

どんな助けでも大歓迎です。

4

0 に答える 0