本人最近用android做一个类似管理系统的应用,其中在主Activity中申明了一个设定时间日期的类Date_Set:
public class Myhotel extends Activity {
/** Called when the activity is first created. */
..........
public Date_set date_in,date_out;
..........
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
本人建立了一个可返回数据的Activity类,用date_in,date_out接受此Acticvity返回的数据,但出现了空指针异常:

下面的提示信息显示:
04-20 23:53:05.020: E/AndroidRuntime(564): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=2, data=Intent { (has extras) }} to activity {com.data/com.data.Myhotel}: java.lang.NullPointerExceptiononActivityResult(int requestCode, int resultCode, Intent data)
我是在onActivityResult(int requestCode, int resultCode, Intent data)()函数中对date_in,date_out赋值的,最后找了半天错误才发现错误,原来没有对date_in,date_out进行初始化造成的,我就在onCreate()函数中添加了一下语句:
date_in=new Date_set();
date_out=new Date_set();
然后运行成功通过,非常兴奋哦!
这个错误并不是那么难以发现,我写着个的目的是想告诉和我一样的菜×们一种查找问题的思路而已,同时也记录下我的android学习的成长之路。
同时我也发现如果要在Activity中传递的不是基本类型,那么这个类型必须可以序列化,即实现Serializable类,我的Date_set就是实现了这个类的。