我正在开发一个应用程序,该应用程序使用MaterialNavigationDrawer作为左侧菜单,它有6个选项(按垂直顺序)可以在此菜单中打开:5个选项打开片段(标题、趋势、兴趣、通知、设置),1个打开对话框(注销)。
选项"趋势"、"兴趣"、"通知"one_answers"设置"只是打开一个彩色片段。选项"标题"打开一个ViewPager,它可以有直到31个选项卡正常生成。管理这个"Headlines"选项的类是HeadlinesFragment类。
MaterialNavigationDrawer设置为TimelineActivity,它调用6个菜单选项:HeadlinesFragment、Tendences Fragment,InterestsFragment,NotificationsFragment、SettingsFragment或LogoutDialog。
类HeadlinesFragment具有ViewPager,设置到类HeadlinesViewPagerAdapter中。这个类调用类HeadlinesPagerFragment的普通实例。所以我们有这样的逻辑:
时间线活动->标题片段->标题视图页面适配器->标题页面片段
- TimelineActivity:实例化MaterialNavigationDrawer的类
- 标题片段:MaterialNavigationDrawer的第一个菜单选项
- 标题ViewPagerAdapter:查看我们放置每个选项卡的寻呼机适配器(总共可以是31个)
- HeadlinePagerFragment:与ViewPager的选项卡相关的片段
我在这个应用程序中面临的问题是:当我选择"趋势"、"兴趣"、"通知"或"设置"等选项(只打开一个简单的彩色片段),然后返回"头条"选项时,应用程序崩溃。
下面我展示了上面描述的4个类的源代码。
时间表活动
public class TimelineActivity extends MaterialNavigationDrawer {
// ATTRIBUTES
// Context.
private Activity mActivity = TimelineActivity.this;
// Material Navigation Drawer.
private MaterialSection[] mSectionArray = new MaterialSection[NavigationDrawerOptions.values().length];
private int[] mSectionColors = new int[NavigationDrawerOptions.values().length];
// MATERIAL NAVIGATION DRAWER
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@Override
public void init(Bundle savedInstanceState) {
Log.i(Globals.LOG_TAG, "TimelineActivity.init().");
ColorUtils.changeStatusBarTransparent(getWindow());
setSections();
}
// METHODS
private void setSections() {
Log.i(Globals.LOG_TAG, "TimelineActivity.setSections().");
String[] titles = getResources().getStringArray(R.array.array_list__navigation_drawer);
setSectionColors();
// Sets sections.
Fragment fragment = null;
int imageId = 0;
for (int i = 0; i < NavigationDrawerOptions.values().length; i++) {
NavigationDrawerOptions option = NavigationDrawerOptions.fromInt(i);
switch (option) {
case HEADLINES:
Log.i(Globals.LOG_TAG, "TimelineActivity.setSections() -> HEADLINES.");
fragment = new HeadlinesFragment();
imageId = R.mipmap.ic_headlines_off;
break;
case TRENDS:
fragment = new TendenciesFragment();
imageId = R.mipmap.ic_trends_off;
break;
case INTERESTS:
fragment = new InterestsFragment();
imageId = R.mipmap.ic_interests_off;
break;
case NOTIFICATIONS:
fragment = new NotificationsFragment();
imageId = R.mipmap.ic_notifications_off;
break;
case SETTINGS:
fragment = new SettingsFragment();
imageId = R.mipmap.ic_settings;
break;
case LOGOUT:
mSectionArray[i] = newSection(titles[i], R.mipmap.ic_logout, new MaterialSectionListener() {
@Override
public void onClick(MaterialSection section) {
LogoutDialog dialog = new LogoutDialog(mActivity);
Utils.callBackgroundDialog(mActivity, dialog);
}
});
addSection(mSectionArray[i]);
break;
}
if (option != NavigationDrawerOptions.LOGOUT) {
Log.i(Globals.LOG_TAG, "TimelineActivity.setSections() -> addSection().");
mSectionArray[i] = newSection(titles[i], imageId, fragment);
addSection(mSectionArray[i]);
mSectionArray[i].setSectionColor(ContextCompat.getColor(this, mSectionColors[i]));
}
}
}
private void setSectionColors() {
mSectionColors[0] = Globals.HEADLINES_THEME_COLOR;
mSectionColors[1] = Globals.TRENDS_THEME_COLOR;
mSectionColors[2] = Globals.INTERESTS_THEME_COLOR;
mSectionColors[3] = Globals.NOTIFICATIONS_THEME_COLOR;
mSectionColors[4] = Globals.SETTINGS_THEME_COLOR;
mSectionColors[5] = Globals.LOGOUT_THEME_COLOR;
}
}
标题片段
public class HeadlinesFragment extends BaseFragment {
// ATTRIBUTES
// Context.
private Activity mActivity;
// Layout.
private ImageView mParentView;
private View mRootView;
private List<Interest> mInterestList;
private HeadlinesViewPagerAdapter mHeadlinesViewPagerAdapter;
private SlidingTabLayout mSlidingTabLayout;
private ViewPager mViewPager;
// CONSTRUCTOR
public static HeadlinesFragment newInstance() {
HeadlinesFragment fragment = new HeadlinesFragment();
return fragment;
}
// FRAGMENT LIFE CYCLE
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Log.i(Globals.LOG_TAG, "HeadlinesFragment.onCreateView().");
mActivity = getActivity();
mRootView = inflater.inflate(R.layout.fragment_headlines, container, false);
ColorUtils.changeStatusBarTransparent(getActivity().getWindow());
setHasOptionsMenu(true);
setLayout();
return mRootView;
}
// VIEW METHODS
private void setLayout() {
Log.i(Globals.LOG_TAG, "HeadlinesFragment.setLayout().");
mInterestList = ContentManager.getInstance().getLoggedUser().getInterests();
mParentView = (ImageView)mRootView.findViewById(R.id.id_fragment_headlines__parent_view);
hideBottomView();
setViewPager();
}
private void hideBottomView() {
Log.i(Globals.LOG_TAG, "HeadlinesFragment.hideBottomView().");
Utils.hideBottomView(mRootView, R.id.id_fragment_headlines__main_linear_layout, KitKatEnum.LINEAR_LAYOUT_OPTION);
Utils.hideBottomView(mRootView, R.id.id_fragment_headlines__bottom_image_view, KitKatEnum.IMAGE_VIEW_OPTION);
}
private void setViewPager() {
Log.i(Globals.LOG_TAG, "HeadlinesFragment.setViewPager().");
setViewPagerAdapter();
setViewPagerListeners();
}
private void setViewPagerAdapter() {
Log.i(Globals.LOG_TAG, "HeadlinesFragment.setViewPagerAdapter().");
mViewPager = (ViewPager)mRootView.findViewById(R.id.id_fragment_headlines__view_pager);
mHeadlinesViewPagerAdapter = new HeadlinesViewPagerAdapter(getFragmentManager(), mInterestList);
mViewPager.setAdapter(mHeadlinesViewPagerAdapter);
onPageSelectedAction(0);
setTabs();
}
private void setViewPagerListeners() {
Log.i(Globals.LOG_TAG, "HeadlinesFragment.setViewPagerListeners().");
mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
Log.i(Globals.LOG_TAG, "HeadlinesFragment.setViewPagerListeners().onPageSelected().");
onPageSelectedAction(position);
}
@Override
public void onPageScrollStateChanged(int state) {}
});
}
private void onPageSelectedAction(Integer position) {
Log.i(Globals.LOG_TAG, "HeadlinesFragment.onPageSelectedAction(" + position + ").");
// Gets colors.
updatesCurrentThemeColor(position);
String color = ContentManager.getInstance().getLoggedUser().getInterests().get(position).getColor();
Log.i(Globals.LOG_TAG, "HeadlinesFragment.onPageSelectedAction().onPageSelectedAction(" + position + ") -> " +
"Current theme color is " + color + ".");
// Changes colors.
String alphaColor = ColorUtils.addTransparencyToColor(color);
int colorId = Color.parseColor(alphaColor);
Drawable drawable = ContextCompat.getDrawable(getActivity(), R.drawable.circle_button);
drawable.setColorFilter(new PorterDuffColorFilter(colorId, PorterDuff.Mode.MULTIPLY));
// Updates Headline list.
HeadlinesPagerFragment fragment = (HeadlinesPagerFragment)(
(HeadlinesViewPagerAdapter)mViewPager.getAdapter()).getFragment(position);
if (fragment != null) {
Log.i(Globals.LOG_TAG, "HeadlinesFragment.onPageSelectedAction().onPageSelectedAction(" + position + ") -> " +
"Calling getHeadlineList().");
getHeadlineList(fragment);
}
}
private void updatesCurrentThemeColor(Integer position) {
ContentManager.getInstance().setPageNumber(position);
User loggedUser = ContentManager.getInstance().getLoggedUser();
String color = loggedUser.getInterests().get(position).getColor();
ContentManager.getInstance().setCurrentThemeColor(color);
}
private void setTabs() {
Log.i(Globals.LOG_TAG, "HeadlinesFragment.setTabs().");
mSlidingTabLayout = (SlidingTabLayout)mRootView.findViewById(R.id.id_fragment_headlines__sliding_tab_layout);
mSlidingTabLayout.setDistributeEvenly(true);
mSlidingTabLayout.setCustomTabColorizer(new SlidingTabLayout.TabColorizer() {
@Override
public int getIndicatorColor(int position) {
return ContextCompat.getColor(getActivity(), R.color.white);
}
});
// Setting the ViewPager for the SlidingTabsLayout.
mSlidingTabLayout.setViewPager(mViewPager);
}
// HEADLINE METHODS
private void getHeadlineList(HeadlinesPagerFragment fragment) {
Log.i(Globals.LOG_TAG, "HeadlinesFragment.getHeadlineList().");
// Variables.
Integer pageNumber = ContentManager.getInstance().getPageNumber();
Integer interestId = ContentManager.getInstance().getLoggedUser().getInterests().get(pageNumber).getId();
Log.i(Globals.LOG_TAG, "HeadlinesFragment.getHeadlineList() -> Page number is " + pageNumber + ".");
Log.i(Globals.LOG_TAG, "HeadlinesFragment.getHeadlineList() -> Interest id is " + interestId + ".");
// Retrofit.
String pagination = "10,0";
String sort = "desc";
String filters;
if (interestId == 0) {
filters = "popularity:+popular";
} else {
filters = "category:" + interestId + "|type:posts";
}
// Checks connection.
if (!Utils.hasConnection(mActivity)) {
Utils.callLostConnectionDialog(mActivity);
} else {
Log.i(Globals.LOG_TAG, "HeadlinesFragment.getHeadlineList() -> Calling RetrofitUtils.searchMake().");
String[] fields = new String[] { pagination, sort, filters };
RetrofitUtils.searchMake(mActivity, fragment, null, fields,
SearchMakeEnum.HEADLINES_PAGER_FRAGMENT, Utils.hourglass(mActivity));
}
}
}
标题ViewPagerFragment
public class HeadlinesViewPagerAdapter extends FragmentStatePagerAdapter {
// ATTRIBUTES
private Map<Integer, String> mFragmentTags;
private List<Interest> mInterestsList;
private List<HeadlinesPagerFragment> mFragments;
// CONSTRUCTOR
public HeadlinesViewPagerAdapter(FragmentManager fragmentManager, List<Interest> interestList) {
super(fragmentManager);
mInterestsList = interestList;
mFragmentTags = new HashMap<>();
mFragments = new ArrayList<>();
for (int i = 0; i < mInterestsList.size(); i++) {
mFragments.add(HeadlinesPagerFragment.create(i));
}
}
// FRAGMENT PAGER ADAPTER METHODS
@Override
public Fragment getItem(int position) {
return mFragments.get(position);
}
@Override
public CharSequence getPageTitle(int position) {
return mInterestsList.get(position).getName();
}
@Override
public int getCount() {
return mInterestsList.size();
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
Object object = super.instantiateItem(container, position);
if (object instanceof Fragment) {
// Record the fragment tag here.
Fragment fragment = (Fragment)object;
String tag = fragment.getTag();
mFragmentTags.put(position, tag);
}
return object;
}
public Fragment getFragment(int position) {
return mFragments.get(position);
}
}
标题PagerFragment
public class HeadlinesPagerFragment extends BaseFragment {
// CONSTANTS
public static final String ARG_PAGE = "page";
// ATTRIBUTES
// Context.
private Activity mActivity;
private Fragment mFragment;
// Recycler view.
private ViewGroup mRootView;
private SwipeRefreshLayout mSwipeRefreshLayout;
private RecyclerView mRecyclerView;
private HeadlineAdapter mAdapter;
private List<Headline> mHeadlineList;
// Others.
private TextView mEmptyTextView;
// CONSTRUCTOR
public static HeadlinesPagerFragment create(int pageNumber) {
HeadlinesPagerFragment fragment = new HeadlinesPagerFragment();
Bundle args = new Bundle();
args.putInt(ARG_PAGE, pageNumber);
fragment.setArguments(args);
return fragment;
}
// FRAGMENT LIFE CYCLE
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Log.i(Globals.LOG_TAG, "HeadlinesPagerFragment.onCreateView().");
mActivity = getActivity();
mFragment = this;
mRootView = (ViewGroup)inflater.inflate(R.layout.fragment_headlines_pager, container, false);
setLayout();
return mRootView;
}
@Override
public void onResume() {
super.onResume();
Log.i(Globals.LOG_TAG, "HeadlinesPagerFragment.onResume() -> At onResume().");
// Updates Headline list.
updateHeadlinesList();
}
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
Integer number = getArguments().getInt(ARG_PAGE);
Log.i(Globals.LOG_TAG, getString(R.string.big_space));
Log.i(Globals.LOG_TAG, "HeadlinesPagerFragment.setUserVisibleHint() -> Current position is " + number + ".");
ContentManager.getInstance().setPageNumber(number);
String color = ContentManager.getInstance().getLoggedUser().getInterests().get(number).getColor();
ContentManager.getInstance().setCurrentThemeColor(color);
}
}
// LAYOUT METHODS
private void setLayout() {
Log.i(Globals.LOG_TAG, "HeadlinesPagerFragment.setLayout().");
// Sets the layout.
mSwipeRefreshLayout = (SwipeRefreshLayout)mRootView.findViewById(R.id.id_fragment_headlines_pager__swipe_refresh_layout);
mRecyclerView = (RecyclerView)mRootView.findViewById(R.id.id_fragment_headlines_pager__recycler_view);
mEmptyTextView = (TextView)mRootView.findViewById(R.id.id_fragment_headlines_pager__empty_text_view);
Typeface fontType = Typeface.createFromAsset(getActivity().getAssets(), Globals.FONT_TYPE);
mEmptyTextView.setTypeface(fontType);
}
private void setRecyclerView(CustomProgressDialog progressDialog) {
Log.i(Globals.LOG_TAG, "HeadlinesPagerFragment.setRecyclerView().");
LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity());
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
mRecyclerView.setLayoutManager(layoutManager);
mRecyclerView.setItemAnimator(new DefaultItemAnimator());
Log.i(Globals.LOG_TAG, "HeadlinesPagerFragment.setRecyclerView() -> Headline list size is " + mHeadlineList.size() + ".");
Integer pageNumber = ContentManager.getInstance().getPageNumber();
List<Interest> interestsList = ContentManager.getInstance().getLoggedUser().getInterests();
Integer categoryId = interestsList.get(pageNumber).getId();
mAdapter = new HeadlineAdapter(getActivity(), this, categoryId, null, mHeadlineList);
mRecyclerView.setAdapter(mAdapter);
progressDialog.cancel();
}
// HEADLINE METHODS
private void updateHeadlinesList() {
// Variables.
Integer pageNumber = ContentManager.getInstance().getPageNumber();
Integer interestId = ContentManager.getInstance().getLoggedUser().getInterests().get(pageNumber).getId();
Log.i(Globals.LOG_TAG, "HeadlinesPagerFragment.updateHeadlinesList() -> Page number is " + pageNumber + ".");
Log.i(Globals.LOG_TAG, "HeadlinesPagerFragment.updateHeadlinesList() -> Interest id is " + interestId + ".");
// Retrofit.
String pagination = "10,0";
String sort = "desc";
String filters;
if (interestId == 0) {
filters = "popularity:+popular";
} else {
filters = "category:" + interestId + "|type:posts";
}
// Checks connection.
if (!Utils.hasConnection(mActivity)) {
Utils.callLostConnectionDialog(mActivity);
} else {
Log.i(Globals.LOG_TAG, "HeadlinesPagerFragment.updateHeadlinesList() -> Calling RetrofitUtils.searchMake().");
String[] fields = new String[] { pagination, sort, filters };
RetrofitUtils.searchMake(mActivity, mFragment, null, fields,
SearchMakeEnum.HEADLINES_PAGER_FRAGMENT, Utils.hourglass(mActivity));
}
}
// CALLBACK
public void checkValidHeadlineList(Boolean append, CustomProgressDialog progressDialog) {
Log.i(Globals.LOG_TAG, "HeadlinesPagerFragment.checkValidHeadlineList().");
List<Post> postList = ContentManager.getInstance().getPostList();
mHeadlineList = RecyclerViewUtils.getHeadlineListFromPostList(postList);
if (append) {
Log.i(Globals.LOG_TAG, "HeadlinesPagerFragment.checkValidHeadlineList() -> Append list.");
mAdapter.setFilter(mHeadlineList);
progressDialog.cancel();
} else {
Boolean validHeadlineList = (mHeadlineList != null) && (mHeadlineList.size() > 0);
if (validHeadlineList) {
Log.i(Globals.LOG_TAG, "HeadlinesPagerFragment.checkValidHeadlineList() -> Valid list.");
mEmptyTextView.setVisibility(View.GONE);
mSwipeRefreshLayout.setVisibility(View.VISIBLE);
setRecyclerView(progressDialog);
} else {
Log.i(Globals.LOG_TAG, "HeadlinesPagerFragment.checkValidHeadlineList() -> Empty list.");
mEmptyTextView.setVisibility(View.VISIBLE);
mSwipeRefreshLayout.setVisibility(View.GONE);
progressDialog.cancel();
}
}
}
}
此外,错误的LogCat:
05-14 00:36:40.742 30234-30234/com.example.rodrigo.facemagazine E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.rodrigo.facemagazine, PID: 30234
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setVisibility(int)' on a null object reference
at com.example.rodrigo.facemagazine.fragment.HeadlinesPagerFragment.checkValidHeadlineList(HeadlinesPagerFragment.java:172)
at com.example.rodrigo.facemagazine.manager.utils.json.JsonPostRawUtils.choosePostList(JsonPostRawUtils.java:98)
at com.example.rodrigo.facemagazine.manager.utils.json.JsonPostRawUtils.parsePostSearchData(JsonPostRawUtils.java:73)
at com.example.rodrigo.facemagazine.manager.utils.retrofit.RetrofitUtils.searchMakeOnSuccess(RetrofitUtils.java:232)
at com.example.rodrigo.facemagazine.manager.utils.retrofit.RetrofitUtils.access$100(RetrofitUtils.java:38)
at com.example.rodrigo.facemagazine.manager.utils.retrofit.RetrofitUtils$5.success(RetrofitUtils.java:213)
at com.example.rodrigo.facemagazine.manager.utils.retrofit.RetrofitUtils$5.success(RetrofitUtils.java:199)
at retrofit.CallbackRunnable$1.run(CallbackRunnable.java:45)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5422)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
标题PagerFragment的第172行是下面突出显示的行:
public void checkValidHeadlineList(Boolean append, CustomProgressDialog progressDialog) {
Log.i(Globals.LOG_TAG, "HeadlinesPagerFragment.checkValidHeadlineList().");
List<Post> postList = ContentManager.getInstance().getPostList();
mHeadlineList = RecyclerViewUtils.getHeadlineListFromPostList(postList);
if (append) {
Log.i(Globals.LOG_TAG, "HeadlinesPagerFragment.checkValidHeadlineList() -> Append list.");
mAdapter.setFilter(mHeadlineList);
progressDialog.cancel();
} else {
Boolean validHeadlineList = (mHeadlineList != null) && (mHeadlineList.size() > 0);
if (validHeadlineList) {
Log.i(Globals.LOG_TAG, "HeadlinesPagerFragment.checkValidHeadlineList() -> Valid list.");
// <<<<<--------------- ERROR IN THE LINE BELOW --------------->>>>>
mEmptyTextView.setVisibility(View.GONE);
mSwipeRefreshLayout.setVisibility(View.VISIBLE);
setRecyclerView(progressDialog);
} else {
Log.i(Globals.LOG_TAG, "HeadlinesPagerFragment.checkValidHeadlineList() -> Empty list.");
mEmptyTextView.setVisibility(View.VISIBLE);
mSwipeRefreshLayout.setVisibility(View.GONE);
progressDialog.cancel();
}
}
}
-
检查void android.widget.TextView.setVisibility(int)
-
如果使用mEmptyTextView,请检查XML和Java代码。。
-
在XML中声明mEmptyTextView 的位置
-
右:-android:visibility="消失"
-
错误:-android:visibility="10"(任意数字)
在Java中使用
-
右边是:-mEmptyTextView.setVisibility(View.GONE);
-
错误为:-mEmptyTextView.setVisibility(10);它会给你带来错误无法运行这行的代码
请检查并再次张贴错误
我修复了代码中的一些问题。我将ViewPager的选项卡从SlidingTabLayout更改为TabLayout,从的com.android.support:design:23.4.0',应用程序停止崩溃。
所以现在我使用谷歌libs:
'com.android.support:appcompat-v7:23.4.0'
'com.android.support:recyclereview-v7:23.4.0'
com.android.support:设计:23.4.0'
但现在,当我点击头条片段时,他显示了一个白色屏幕。
此视频显示了此错误:https://www.youtube.com/watch?v=CxDtTZOoM5A&feature=youtu.be
所以,就像我在第一篇文章中所说的:
1) 当用户单击左侧菜单的第一个选项(即MaterialNavigationDrawer)时,会调用标题片段。
2) 此片段包含ViewPager和TabLayout。ViewPager调用HeadlinesPagerFragment的多个实例。
3) 标题PagerFragment包含RecyclerView。错误发生在这里:当我将左侧菜单中的一个选项从"Manchetes"(英语中的"Headlines")更改为视频中的其他选项(英语中为"Notifications"的"Noticações")时,HeadlinesFragment会重新打开选项卡,但其中一些选项卡保持白色,而不会加载RecyclerView。
因此,以下是重现错误的步骤:
1) 我登录应用程序。
2) 我点击左侧菜单的第一个选项("Manchetes"),然后点击该选项的每个选项卡。4个选项卡正常打开。
3) 我选择左侧菜单的其他选项(这次是"通知")。调用NotificationsFragment,带来用户的所有通知。好的。
4) 我选择左侧菜单的其他选项。这一次,选项"Manchetes"(在视频的0:20)。此选项打开第一个选项卡"Destaques"(英文为"Highlights"),并从服务器加载数据。但在0:25,我点击了第三个选项卡"Casa e Decoração"(英文为"House and Decoration"),这就是bug!RecyclerView未显示。此选项卡中出现一个白色屏幕。
如果我检查日志,来自后端的所有数据都是正常的。数据正在传递给HeadlineAdapter(HeadlineFragment中RecyclerView的适配器),但选项卡保持白色。
我不知道为什么会发生这种事。原因是什么?
1) 进入物料导航抽屉?这是非常可能的,因为这个错误只是在我从左侧菜单选项切换时发生的。
2) 错误进入ViewPager?
3) Bug进入RecyclerView或it适配器?
4) 有同步问题吗?
好吧,在我发布这个问题后,我将尝试用NavigationView替换我的应用程序的左侧菜单,从MaterialNavigationDrawer到DrawerLayout,看看会发生什么。