方法getSupportFragmentManager()未定义为CadastroModoVoo类型

时间:2014-03-29 21:24:52

标签: java android datepicker

我尝试在片段中创建DatePicker并返回错误方法getSupportFragmentManager()未定义类型CadastroModoVoo。有什么问题?

XML:

<Button android:id="@+id/selectHora3Button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="left"
        android:onClick="selectHora3"
        android:text="Hora" />

类别:

public class CadastroModoVoo extends Fragment {
    private FragmentActivity context;


    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        cadastro_modo_voo = inflater.inflate(R.layout.cadastro_modo_voo, container, false);
        context = getActivity();



        @TargetApi(Build.VERSION_CODES.HONEYCOMB)
        @SuppressLint({ "ValidFragment", "NewApi" })
        public void selectHora3(View view)  {
            qual = 3;
            DialogFragment newFragment = new SelectTimeFragment();
            newFragment.show(getSupportFragmentManager(), "TimePicker"); -----> error
    }

2 个答案:

答案 0 :(得分:0)

context.getSupportFragmentManager()等上下文变量上调用它。 Reference

答案 1 :(得分:0)

这里的问题是,实际上,Fragment类没有一个名为getSupportFragmentManager()的方法。该方法仅在FragmentActivity中使用。

对于android.support.v4.app.Fragments,我认为正确的调用方法是getChildFragmentManager()。

编辑:现在我正在阅读roarster的答案,我不确定您的DialogFragment实际需要哪个FragmentManager--由getChildFragmentManager返回的或返回的是context.getSupportFragmentManager()...目前无法试用......