1

ViewPager が BottomSheetDialog に表示されません。これが実装です。

public void show(final BoxItem boxItem) {
        bottomSheet = (mContext).getLayoutInflater().inflate(R.layout.layout_change_size_and_frequency, null);
        bottomSheetDialog.setContentView(bottomSheet);
        bottomSheetDialog.show();
        hashMap = boxItem.getFrequencyItemConfigHashMap();
        initViews();
        setupViewPagerAndTabs();
    }

    private void setupViewPagerAndTabs() {
        Set<String> keySet = hashMap.keySet();
        ViewPagerAdapter adapter = new ViewPagerAdapter(((AppCompatActivity) mContext).getSupportFragmentManager());
        for (String key : keySet) {
            adapter.addFragment(SearchDetailItemsFragment.getInstance(hash.get(key)), key);
        }
        viewPager.setAdapter(adapter);
        tabLayout.setupWithViewPager(viewPager);

    }

    private void initViews() {
        tabLayout = (TabLayout) bottomSheet.findViewById(R.id.tabs);
        viewPager = (ViewPager) bottomSheet.findViewById(R.id.viewPager);
    }
4

1 に答える 1

0

ダイアログではフラグメントは許可されていません。フラグメントのライフサイクルを維持するためにさまざまなことを実行できるBottomSheetDialogFragmentを使用して問題を解決しました。

于 2016-05-26T11:30:52.497 に答える