1

我有这样的课:

class TopicFragment extends Fragment{

public TopicFragment(VO vO) { 
    // some code
    }

}

用户报告该应用程序正在崩溃,并且日志显示:

 android.support.v4.app.Fragment$InstantiationException: Unable to instantiate fragment com.aaa.wert.TopicFragment: make sure class name exists, is public, and has an empty constructor that is public

我已经查看了这个链接,但我无法解决这个问题;

片段真的需要一个空的构造函数吗?

片段 - InstantiationException:没有空的构造函数 -> Google Maps v2?

请帮我解决一下这个。

4

1 回答 1

1

只需简单地添加一个没有参数的空构造函数,它是公共的。如果您在 XML 中设置了没有空构造函数的片段,则无法创建它。

public TopicFragment() {
}

我通常也总是只有空的构造函数,并且有一个这样的方法来实例化参数

public static TopicFragment newInstance(VO vo) {
    TopicFragment fragment = new TopicFragment();
    fragment.setVo(vo);
    return fragment;
}

编辑:正如评论中的人所说,让你的班级:

public class TopicFragment {
}
于 2013-10-15T07:13:15.300 回答