首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >片段集元素可见性不能正常工作

片段集元素可见性不能正常工作
EN

Stack Overflow用户
提问于 2016-08-29 12:34:10
回答 1查看 1.1K关注 0票数 0

我已经设置了一个片段,根据页面的不同,片段应该显示或隐藏其中的一些元素:

代码语言:javascript
复制
public static class PlaceholderFragment extends Fragment {
        /**
         * The fragment argument representing the section number for this
         * fragment.
         */
        private static final String ARG_SECTION_NUMBER = "section_number";

        public PlaceholderFragment() {
        }

        /**
         * Returns a new instance of this fragment for the given section
         * number.
         */
        public static PlaceholderFragment newInstance(int sectionNumber) {
            PlaceholderFragment fragment = new PlaceholderFragment();
            Bundle args = new Bundle();
            args.putInt(ARG_SECTION_NUMBER, sectionNumber);
            fragment.setArguments(args);
            return fragment;
        }

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
            View rootView = inflater.inflate(R.layout.fragment_install__ubuntu, container, false);
            TextView textView = (TextView) rootView.findViewById(R.id.top_text);
            TextView middleText = (TextView) rootView.findViewById(R.id.middle_text);
            TextView bottomText = (TextView) rootView.findViewById(R.id.bottom_text);

            Button imageDownload = (Button) rootView.findViewById(R.id.btn_DownloadImage);
            Button vnc = (Button) rootView.findViewById(R.id.btn_DownloadVNC);
            Button terminal = (Button) rootView.findViewById(R.id.btn_DownloadTerminal);


            int pageNumber = getArguments().getInt(ARG_SECTION_NUMBER);

            switch (pageNumber) {
                case 0:
                    textView.setVisibility(View.VISIBLE);
                    middleText.setVisibility(View.GONE);
                    bottomText.setVisibility(View.GONE);
                    imageDownload.setVisibility(View.GONE);
                    vnc.setVisibility(View.GONE);
                    terminal.setVisibility(View.GONE);

                case 1:
                    textView.setVisibility(View.VISIBLE);
                    middleText.setVisibility(View.VISIBLE);
                    bottomText.setVisibility(View.VISIBLE);
                    imageDownload.setVisibility(View.VISIBLE);
                    vnc.setVisibility(View.VISIBLE);
                    terminal.setVisibility(View.VISIBLE);

                case 2:
                    textView.setVisibility(View.VISIBLE);
                    middleText.setVisibility(View.GONE);
                    bottomText.setVisibility(View.GONE);
                    imageDownload.setVisibility(View.GONE);
                    vnc.setVisibility(View.GONE);
                    terminal.setVisibility(View.GONE);

                case 3:
                    textView.setVisibility(View.VISIBLE);
                    middleText.setVisibility(View.GONE);
                    bottomText.setVisibility(View.GONE);
                    imageDownload.setVisibility(View.GONE);
                    vnc.setVisibility(View.GONE);
                    terminal.setVisibility(View.GONE);
            }

            return rootView;
        }
    }
public class SectionsPagerAdapter extends FragmentPagerAdapter {

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

        @Override
        public Fragment getItem(int position) {
            // getItem is called to instantiate the fragment for the given page.
            // Return a PlaceholderFragment (defined as a static inner class below).
            return PlaceholderFragment.newInstance(position + 1);
        }

        @Override
        public int getCount() {
            // Show 3 total pages.
            return 4;
        }

        @Override
        public CharSequence getPageTitle(int position) {
            switch (position) {
                case 0:
                    return "1";
                case 1:
                    return "2";
                case 2:
                    return "3";
                case 3:
                    return "4";
            }
            return null;
        }
    }

但是,这似乎不正确,例如,在上面的代码中,最后一个片段显示了所有的元素,而不是应该显示的第二个片段。

根据碎片视图的位置,修改片段视图的正确方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-29 12:37:57

您忘了在每个开关箱后面添加中断;

代码语言:javascript
复制
            switch (pageNumber) {
                case 0:
                    textView.setVisibility(View.VISIBLE);
                    middleText.setVisibility(View.GONE);
                    bottomText.setVisibility(View.GONE);
                    imageDownload.setVisibility(View.GONE);
                    vnc.setVisibility(View.GONE);
                    terminal.setVisibility(View.GONE);
                    break;


                case 1:
                    textView.setVisibility(View.VISIBLE);
                    middleText.setVisibility(View.VISIBLE);
                    bottomText.setVisibility(View.VISIBLE);
                    imageDownload.setVisibility(View.VISIBLE);
                    vnc.setVisibility(View.VISIBLE);
                    terminal.setVisibility(View.VISIBLE);
                    break;

                case 2:
                    textView.setVisibility(View.VISIBLE);
                    middleText.setVisibility(View.GONE);
                    bottomText.setVisibility(View.GONE);
                    imageDownload.setVisibility(View.GONE);
                    vnc.setVisibility(View.GONE);
                    terminal.setVisibility(View.GONE);
                    break;

                case 3:
                    textView.setVisibility(View.VISIBLE);
                    middleText.setVisibility(View.GONE);
                    bottomText.setVisibility(View.GONE);
                    imageDownload.setVisibility(View.GONE);
                    vnc.setVisibility(View.GONE);
                    terminal.setVisibility(View.GONE);
                    break;
            }
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39206482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档