第一个参数类型错误。必填 "android.app.fragment"

Wrong 1st argument type. required "android.app.fragment"

我在使用时遇到问题 DialogFragment

DialogFragment dialog = new DateDialog(this);
dialog.setTargetFragment(this,1);
dialog.show(getFragmentManager(), "tag");

其中 this 导致错误。我的 class 扩展了 FragmentActivity

我正在关注 this answer,但到目前为止,无法应用我的代码。我做错了什么?

这是我的 class :

import android.app.AlertDialog;
import android.app.DatePickerDialog.OnDateSetListener;
import android.app.Dialog;
import android.app.DialogFragment;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.util.Log;
import android.view.View;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.RadioGroup;
import android.support.v4.app.Fragment;

public class RegisterActivity extends FragmentActivity implements OnDateSetListener
{

}

确保您使用的是正确的 DialogFragment:

http://developer.android.com/reference/android/app/DialogFragment.html

   ↳    android.app.Fragment
       ↳    android.app.DialogFragment

对比

   ↳    android.support.v4.app.Fragment
       ↳    android.support.v4.app.DialogFragment

很容易导入错误class。只需查看您使用的是哪个版本的 FragmentActivity 并选择相应的 DialogFragment。