您好我想在静态片段中调用getSupportFragmentManager
,但它给了我错误。
非静态方法getSupportFragmentManager不能在静态类中引用。
public static class DemoFragment extends Fragment {
public DemoFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment, container, false);
return rootView;
}
@OnClick(R.id.button)
public void clickButton() {
DialogFragment newFragment = new DatePickerFragment(new DatePickerListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int day) {
}
});
newFragment.show(getSupportFragmentManager(), "datePicker"); // HERE ERROR
}
}
为了解决这个问题,我在
这样的活动中创建了一个静态变量private static FragmentManager fragmentManager;
并将其分配为onCreate
,如
fragmentManager = getSupportFragmentManager();
请帮助如何在片段中获取支持片段管理器对象而不在活动中创建静态字段,或者这是我做的正确方法。
提前致谢。