Android 从片段中引用 MainActivity 的实例变量
Android referring to MainActivity's instance variable from a fragment
我在我的 MainActivity 中设置了一个导航抽屉,我想从片段访问它。
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();
但不是最好的方法,你应该看看Interfaces
我在我的 MainActivity 中设置了一个导航抽屉,我想从片段访问它。
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();
但不是最好的方法,你应该看看Interfaces