Android 如何在显示其他页面时显示不同的文本?

Android 如何在显示其他页面时显示不同的文本?,android,android-layout,android-fragments,android-viewpager,Android,Android Layout,Android Fragments,Android Viewpager,我试图在TextView中为ViewPager的每一页显示另一个文本。但是当应用程序是startet时,它根本不显示文本,当我更改页面时,只显示默认模式。 我在main活动的onCreate中放入了以下代码: viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, flo

我试图在TextView中为ViewPager的每一页显示另一个文本。但是当应用程序是startet时,它根本不显示文本,当我更改页面时,只显示默认模式。 我在
main活动的
onCreate
中放入了以下代码:

  viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
        }

        final    TextView myTextView = findViewById(R.id.my_textview);

        @Override
        public void onPageSelected(int position) {
            switch (position) {
                case 0:
                    myTextView.setText("TextView1");
                case 1:
                    myTextView.setText("TextView2");
                case 2:
                    myTextView.setText("TextView3");
                default:
                    myTextView.setText("TextView");
            }
        }

        @Override
        public void onPageScrollStateChanged(int state) {
        }
    });

您没有在switch语句案例中使用
break
,这将导致执行有效案例下的所有案例,包括
default


此外,TextView在开始时不会显示任何内容,因为您在创建视图后添加了侦听器,因此可以在
onCreate()中使用
viewpager.getCurrentItem()
首次显示正确的文本

应用程序启动时不会显示任何文本,因为没有选择任何页面,这意味着永远不会触发onPageSelected方法


选择页面时始终执行默认块,因为在每个情况下,您从不使用break关键字。这意味着当案例0、案例1或案例2发生时,它将变成默认案例。

@SusanT.Erickson我已编辑了我的答案,以包含其他问题