Java 无法在片段内的onResume()方法中检索视图
我想从Java 无法在片段内的onResume()方法中检索视图,java,android,android-fragments,android-lifecycle,Java,Android,Android Fragments,Android Lifecycle,我想从onResume()调用片段中的一个方法。不幸的是,我的方法需要向它传递一个视图,该视图在onCreateView()中定义: onResume(): @Override public void onResume() { super.onResume(); retrieveData(0, false, rootView); } @Override public View onCreateView(LayoutInf
onResume()
调用片段中的一个方法。不幸的是,我的方法需要向它传递一个视图,该视图在onCreateView()中定义:
onResume():
@Override
public void onResume() {
super.onResume();
retrieveData(0, false, rootView);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Set view
View rootView = inflater.inflate(R.layout.tab_fragment_1, container, false);
...
}
onCreateView():
@Override
public void onResume() {
super.onResume();
retrieveData(0, false, rootView);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Set view
View rootView = inflater.inflate(R.layout.tab_fragment_1, container, false);
...
}
有没有办法像在onResume()
中那样调用我的retrieveData方法,或者我应该创建一个没有rootView参数的新方法(不理想)
无法将其移动到全局范围,因为充气器方法参数是片段接口的一部分。您只能从片段获取视图,而不能从活动获取视图。为此,在片段onCreateView中
将根视图另存为实例变量,如
private View root;
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
root = inflater.inflate(R.layout.fragment_details_buddy, container, false);
... }
并在你的简历中注明
编辑:要从活动中获取数据,请将其以捆绑方式传递