use*_*602 8 alert android dialog fragment android-alertdialog
我已经关注了android示例,但我有一个不全面的错误:
void showDialog() {
DialogFragment newFragment = MyAlertDialogFragment.newInstance();
newFragment.show(fm, "alert");
}
public static class MyAlertDialogFragment extends DialogFragment {
public static MyAlertDialogFragment newInstance() {
MyAlertDialogFragment frag = new MyAlertDialogFragment();
return frag;
}
public Dialog onCreateDialog(Bundle savedInstanceState) {
return new AlertDialog.Builder(getActivity()).setTitle("test")
.setMessage("bla bla bla").create();
}
}
Run Code Online (Sandbox Code Playgroud)
newFragment.show(fm, "alert");
给我一个错误:
DialogFragment类型中的方法show(FragmentManager,String)不适用于参数(FragmentManager,String)
有人可以帮帮我吗?
Jac*_*ips 13
问题是因为您需要使用支持包,FragmentManager
但是FragmentManager
在调用时您正在使用本机getFragmentManager()
.getSupportFragmentManager()
初始化变量时尝试调用fm
.
实际上,在您执行@Jacob之后,您还必须确保从支持包中包含DialogFragment,而不是从本机包中包含.
你可以通过导入,
import android.support.v4.app.DialogFragment;
Run Code Online (Sandbox Code Playgroud)
在我的情况下,我minSDK
设置为14
所以我不想使用支持包.我的问题是我输入的错误DialogFragment
是这样的:
import android.support.v4.app.DialogFragment;
Run Code Online (Sandbox Code Playgroud)
我把它改成了它并且它有效:
import android.app.DialogFragment;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8258 次 |
最近记录: |