ErrorDialogFragment.show不起作用

时间:2015-01-08 09:05:58

标签: android

我正在制作Android应用,现在尝试将我的应用连接到GooglePlay,但文档化的代码不起作用。

private void showErrorDialog(int errorCode) {
    // Create a fragment for the error dialog
    ErrorDialogFragment dialogFragment = new ErrorDialogFragment();
    // Pass the error that should be displayed
    Bundle args = new Bundle();
    args.putInt(DIALOG_ERROR, errorCode);
    dialogFragment.setArguments(args);
    dialogFragment.show(getSupportFragmentManager(), "errordialog");
}

在此代码中,dialogFragment.show会发出错误消息

ErrorDialogFragment类型的方法show(android.app.FragmentManager,java.lang.String)不适用于参数(android.support.v4.app.FragmentManager,java.lang.String)

我不明白为什么这是一个问题....没有这样的android.app.FragmentManager ...帮帮我

1 个答案:

答案 0 :(得分:1)

您使用的DialogFragment版本不正确。基本上,您有以下类的2个版本:

  • DialogFragment
  • 片段
  • FragmentManager
  • ...

有一个版本仅适用于API 11或更高版本,使用包android.app和一个版本来自支持库,包含android.support.v4.app(版本可以更改,对于某些类,它可以来自v7,例如android.support.v7.app.ActionBar。)

这里的关键点是它们不能混合,你要么使用android.app版本,要么使用支持库,但如果你使用支持库,你必须使用它的所有类。

简短回答:

import com.google.android.gms.common.SupportErrorDialogFragment;

import android.support.v4.app.DialogFragment;