我的主活动中设置了一个导航抽屉,我想从片段访问它。
NavigationDrawerFragment.java
public void updateDrawer() {
..setAdapter(...);
}
MainActivity.java
public NavigationDrawerFragment mNavigationDrawerFragment;
Fragment_Login.java
(inside some function)...
MainActivity.this.mNavigationDrawerFragment.updateDrawer();
...
您可以看到,我想在从登录片段登录后更新导航抽屉视图。但是,除非我能够引用 MainActivity 实例,否则我无法进行调用。调用 MainActivity.this 会引发编译错误:
...MainActivity is not an enclosing class
无论如何要绕过这个?我也尝试过getActivity()。
这应该可以做到:
((MainActivity)getActivity).mNavigationDrawerFragment.updateDrawer();
但不是最好的方法,你应该看看接口