2 o19830015 o19830015 于 2013.03.18 11:42 提问

DialogFragment参数和指针异常

类传递一个参数给DialogFragment,但是再onCreate方法中出现了NullPointerException。

对话框的片段代码:

public class ConfirmDialog extends DialogFragment {
public ConfirmDialog() {}
 ConfirmDialog newInstance(String f) {
    ConfirmDialog d = new ConfirmDialog();
    Bundle args = new Bundle();
    args.putString("FILE_NAME", f);
    d.setArguments(args);

    return d;
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    file = getArguments().getString("FILE_NAME");
}

在这行有空指针:

file = getArguments().getString("FILE_NAME");

调用对话的代码:

private void showConfirmDialog(String file) {
    FragmentManager fm = getSupportFragmentManager();
    ConfirmDialog dialog = new ConfirmDialog();
    Log.i("SHOWFILEACTIVITY", file);
    dialog.newInstance(file);
    dialog.show(fm, "fragment_confirm_dialog");
}

file字符串非空,检测代码:

Log.i("SHOWFILEACTIVITY", file);
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Android使用DialogFragment,自定义对话框
Android使用DialogFragment,自定义对话框: 效果图: 当我点击结算时,弹出对话框: 步骤一:创建:pay_dialog_fragment.xml:布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_widt
后台线程调用DialogFragment的dismiss崩溃
不知道咋回事,后台线程调用DialogFragment的
DialogFragment使用中show()方法遇到的IllegalStateException
最近在首页做了一个弹窗,用dialogFragment 实现的,线上报了一个crash: ava.lang.IllegalStateException: Can not perform this action after onSaveInstanceState at android.support.v4.app.FragmentManagerImpl.checkStateLoss(Frag
DialogFragment 报错汇总
DialogFragment 报错汇总最近在降低项目总体错误率,发现有一些dialogFragment报了几个active、already added的错误,就修复了一波.Fragment already active这是Fragment调用setArguments()方法时报的错误.原因是当Android堆栈正在删除Fragment而删除操作没有完成时,也就是Fragment仍保持active又被
Activity 与 DialogFragment 之间的数据传递
这篇文章参考了网友的相关资料(因为参考了多名前辈的资料,这里就不一一指明出处了),不过还是非常感谢前辈们的无私分享。此文仅是学习过后的总结,主要目的是以后自己看着方便,如果恰巧能帮到你那也是再好不过了。
DialogFragment在Activity执行onSaveInstanceState完成后调用show报BUG的解决方案
在开发过程中,发现了这样一个BUG:在用DialogFragment的show(FragmentTransaction transaction,String tag)方法时会报如下BUG:(中间空白为项目代码请忽律)  java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
关于C++异常抛出指针问题的探讨
在C++中,抛出的异常如果是一个对象,系统会将这个对象复制一份向外抛出。try{exception e;throw e;}catch(exception& e){}注意,抛出的e和catch到的e并不是同一个e,而是系统自动复制的一份对象。对指针来说,情况有所不同。try{exception* e = new exception();throw e;
自定义DialogFragment异常问题分析和解决笔记
自定义DialogFragment重复显示和重复添加导致异常问题分析和解决方法,以及dismiss时偶然抛出IllegalArgumentException原因分析和问题解决方案。
DialogFrament遇到的两个坑
DialogFrament遇到的两个坑
DialogFragment.show()遇到的坑
DialogFragment.show()遇到的坑 昨天app发版上线,测试和我说注册页面点击页面按钮时崩溃了,我说不可能啊,注册页面代码我都N年没动过了,怎么会不能用了,我调试了一下,看了下日志,发现下面这个错误: 04-04 08:45:37.726 30098-30098E/AndroidRuntime: FATAL EXCEPTION: main Process: co...