Изменить видимость кнопки, чтобы она отображалась на странице активности, когда открыта последняя страница окна просмотра - PullRequest
0 голосов
/ 08 марта 2019

У меня есть действие, в которое включен макет, а кнопка на включенном макете невидима. Код для этого определен ниже.

   <include android:id="@+id/count_down_strip" layout="@layout/countdown_timer_header"
        android:layout_height="60dp"
        android:layout_width="match_parent"
        android:layout_marginTop="?attr/actionBarSize"
        />

Содержимое countdown_timer_header равно

  <?xml version="1.0" encoding="utf-8"?>

<View android:background="#73ffffff" android:layout_width="1.0dip" android:layout_height="fill_parent" />

<TextView android:textColor="#ffffff" android:gravity="center"
    android:layout_gravity="center" android:id="@+id/timer"
    android:layout_width="0.0dip" android:layout_height="wrap_content"
    android:text="00:00" android:layout_weight="1.0"
    style="@style/text_h4" />

<View android:background="#73ffffff" android:layout_width="1.0dip" android:layout_height="fill_parent" />


<TextView android:textColor="#ffffff" android:gravity="center" android:layout_gravity="center" android:id="@+id/finish"
    android:layout_width="0.0dip"
    android:visibility="invisible"
    android:layout_height="fill_parent" android:text="Submit" android:layout_weight="1.0" style="@style/text_h4" />

Конец текстового просмотра невидим, и мы должны сделать его видимым, как только просмотрщик переместился на последнюю страницу. У действия есть два фрагмента, и в родительском фрагменте определен просмотрщик.

Я хочу найти представление этого текстового представления в родительском фрагменте, чтобы я мог изменить видимость.

 private void getIDs(View view) {
    viewPager = (ViewPager) view.findViewById(R.id.my_viewpager);
    adapter = new ViewPagerAdapter(getFragmentManager());
    viewPager.setAdapter(adapter);
    viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        Boolean first = true;
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
            if (!first && positionOffset == 0 && positionOffsetPixels == 0){
                onPageSelected(0);
                first = false;
            }
        }
        @Override
        public void onPageSelected(int position) {
            pageno=viewPager.getCurrentItem();
         //Check if the viewpager has last page loaded
            if (pageno == adapter.getCount()-1){
                System.out.println("page no. is"+pageno);
              bbb.setvisibility(View.VISIBLE);

            }

        }

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

}

Как мне этого добиться. Я пытался сделать это, но без всякой пользы.

   View vv((TestQuestion)getActivity()).findViewById(R.id.count_down_strip);
    bbb=vv.findViewById(R.id.finish);
...