我有ReceiveListFragment
课程。那扩展ListFragment
,我想使用DialogFragment
,但我得到了这个错误:
Error:(200, 15) java: no suitable method found for show(android.support.v4.app.FragmentManager,java.lang.String)
method android.app.DialogFragment.show(android.app.FragmentTransaction,java.lang.String) is not applicable
(actual argument android.support.v4.app.FragmentManager cannot be converted to android.app.FragmentTransaction by method invocation conversion)
method android.app.DialogFragment.show(android.app.FragmentManager,java.lang.String) is not applicable
(actual argument android.support.v4.app.FragmentManager cannot be converted to android.app.FragmentManager by method invocation conversion)
我使用和定义与此代码类似:
FragmentManager manager = getFragmentManager();
AddNoteDialogFragment dialog = new AddNoteDialogFragment();
dialog.show(manager,"1");
我的DialogFragment
课程是:
public class AddNoteDialogFragment extends DialogFragment {
public AddNoteDialogFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
getDialog().setTitle(getString(R.string.app_name));
View view = inflater.inflate(R.layout.view_sms_dialog,
container);
return view;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Dialog dialog = super.onCreateDialog(savedInstanceState);
dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
return dialog;
}
}
答案 0 :(得分:0)
我有类似的问题。问题是你(无意识地)混合了来自支持库的导入。您正在提供v4
片段管理器,而参数必须是本机FragmentManager
。
我的问题反之亦然:param应该是v4
,但我提供了原生FragmentManager
。我通过ActionBarActivity
而不是Activity
扩展我的课程来解决我的问题,并致电getSupportFragmentManager()
以提供v4
片段管理员。