Я создал нижеприведенную функцию:
private void openFilterStudentBottomSheetDialog(){
View dialogView = getLayoutInflater().inflate(R.layout.bottomsheet_filter_students, null);
BottomSheetDialog dialog = new BottomSheetDialog(this);
dialog.setContentView(dialogView);
tv_apply_student_filter=dialog.findViewById(R.id.tv_apply_student_filter);
tabLayoutStudentList=dialog.findViewById(R.id.tabsStudentFilter);
vpStudentList=dialog.findViewById(R.id.vpStudentFilter);
StudentFilterPagerAdapter studentListPagerAdapter = new StudentFilterPagerAdapter(getSupportFragmentManager());
vpStudentList.setAdapter(studentListPagerAdapter);
vpStudentList.setOffscreenPageLimit(3);
tabLayoutStudentList.setupWithViewPager(vpStudentList);
tv_apply_student_filter.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(StudentListActivity.this, "clicked", Toast.LENGTH_SHORT).show();
}
});
dialog.show();
}
}
Я пытаюсь открыть диалог BottomSheet, в котором есть кнопка, вкладки и панель просмотра.
Я могу успешно нажать кнопку как вы можете видеть в приведенном выше методе.
Проблема связана с ViewPager. Ошибка ниже:
java.lang.IllegalArgumentException: No view found for id 0x7f090252 (packagename:id/vpStudentFilter) for fragment Filter_MonthListFragment{c832d8b #0 id=0x7f090252 android:switcher:2131296850:0}
В чем может быть проблема?
Вы можете проверить макет, как показано ниже:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:id="@+id/rl_container"
android:layout_height="match_parent">
<android.support.design.widget.TabLayout
android:id="@+id/tabsStudentFilter"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabGravity="fill"
app:tabMode="fixed" />
<android.support.v4.view.ViewPager
android:id="@+id/vpStudentFilter"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/tv_apply_student_filter"
android:layout_below="@+id/tabsStudentFilter"/>
<TextView
android:id="@+id/tv_apply_student_filter"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_margin="@dimen/size_10"
android:background="@drawable/drawable_square_6dp_for_filter"
android:gravity="center"
android:padding="@dimen/size_12"
android:text="Apply Filter"
android:textColor="@color/colorWhite"
android:textSize="@dimen/font_size_16" />
</RelativeLayout>
Спасибо.