堆栈溢出错误的Android? [英] Stack Overflow error android?
本文介绍了堆栈溢出错误的Android?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的code运行良好,但突然当我跑了$ C $再次C,它给了我堆栈溢出错误。以下是我的code:HelloDatePickerActivity已经被定义
HelloDatePickerActivity回到名单Daten =新HelloDatePickerActivity();
静态最终诠释DATE_DIALOG_ID = 0;
按钮mPickDate;
TextView的mDateDisplay; / **当第一次创建活动调用。 * /
@覆盖
公共无效的onCreate(捆绑savedInstanceState){ super.onCreate(savedInstanceState);
的setContentView(R.layout.offline_screen); mPickDate =(按钮)findViewById(R.id.pickDate); mPickDate.setOnClickListener(新View.OnClickListener(){
公共无效的onClick(视图v){
的ShowDialog(DATE_DIALOG_ID);
}
});
}
@覆盖
保护对话框onCreateDialog(INT ID){
开关(ID){
案例DATE_DIALOG_ID:
返回新DatePickerDialog(这一点,
daten.mDateSetListener,
daten.mYear,daten.mMonth,daten.mDay);
}
返回null;
}}
而logcat的是:
15 08-26:38:50.039:ERROR / AndroidRuntime(585):致命异常:主要
08-26 15:38:50.039:ERROR / AndroidRuntime(585):java.lang.StackOverflowError
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在java.lang.Thread.currentThread(Thread.java:558)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在java.lang.ThreadLocal.get(ThreadLocal.java:53)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在android.os.Looper.myLooper(Looper.java:157)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在android.os.Handler<&初始化GT;(Handler.java:119)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在android.app.Activity<&初始化GT;(Activity.java:728)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.HelloDatePickerActivity<&初始化GT;(HelloDatePickerActivity.java:14)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.ACB_OnlineScreenActivity<&初始化GT;(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.HelloDatePickerActivity<&初始化GT;(HelloDatePickerActivity.java:20)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.ACB_OnlineScreenActivity<&初始化GT;(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.HelloDatePickerActivity<&初始化GT;(HelloDatePickerActivity.java:20)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.ACB_OnlineScreenActivity<&初始化GT;(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.HelloDatePickerActivity<&初始化GT;(HelloDatePickerActivity.java:20)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.ACB_OnlineScreenActivity<&初始化GT;(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.HelloDatePickerActivity<&初始化GT;(HelloDatePickerActivity.java:20)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.ACB_OnlineScreenActivity<&初始化GT;(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.HelloDatePickerActivity<&初始化GT;(HelloDatePickerActivity.java:20)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.ACB_OnlineScreenActivity<&初始化GT;(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.HelloDatePickerActivity<&初始化GT;(HelloDatePickerActivity.java:20)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.ACB_OnlineScreenActivity<&初始化GT;(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.HelloDatePickerActivity<&初始化GT;(HelloDatePickerActivity.java:20)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.ACB_OnlineScreenActivity<&初始化GT;(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.HelloDatePickerActivity<&初始化GT;(HelloDatePickerActivity.java:20)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.ACB_OnlineScreenActivity<&初始化GT;(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.HelloDatePickerActivity<&初始化GT;(HelloDatePickerActivity.java:20)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.ACB_OnlineScreenActivity<&初始化GT;(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.HelloDatePickerActivity<&初始化GT;(HelloDatePickerActivity.java:20)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.ACB_OnlineScreenActivity<&初始化GT;(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.HelloDatePickerActivity<&初始化GT;(HelloDatePickerActivity.java:20)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.ACB_OnlineScreenActivity<&初始化GT;(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.HelloDatePickerActivity<&初始化GT;(HelloDatePickerActivity.java:20)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.ACB_OnlineScreenActivity<&初始化GT;(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.HelloDatePickerActivity<&初始化GT;(HelloDatePickerActivity.java:20)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.ACB_OnlineScreenActivity<&初始化GT;(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.HelloDatePickerActivity<&初始化GT;(HelloDatePickerActivity.java:20)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.ACB_OnlineScreenActivity<&初始化GT;(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.HelloDatePickerActivity<&初始化GT;(HelloDatePickerActivity.java:20)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.ACB_OnlineScreenActivity<&初始化GT;(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.HelloDatePickerActivity<&初始化GT;(HelloDatePickerActivity.java:20)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.ACB_OnlineScreenActivity<&初始化GT;(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.HelloDatePickerActivity<&初始化GT;(HelloDatePickerActivity.java:20)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.ACB_OnlineScreenActivity<&初始化GT;(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.HelloDatePickerActivity<&初始化GT;(HelloDatePickerActivity.java:20)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.ACB_OnlineScreenActivity<&初始化GT;(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.HelloDatePickerActivity<&初始化GT;(HelloDatePickerActivity.java:20)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.ACB_OnlineScreenActivity<&初始化GT;(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.HelloDatePickerActivity<&初始化GT;(HelloDatePickerActivity.java:20)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.ACB_OnlineScreenActivity<&初始化GT;(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.HelloDatePickerActivity<&初始化GT;(HelloDatePickerActivity.java:20)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.ACB_OnlineScreenActivity<&初始化GT;(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.HelloDatePickerActivity<&初始化GT;(HelloDatePickerActivity.java:20)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.ACB_OnlineScreenActivity<&初始化GT;(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039:ERROR / AndroidRuntime(585):在acb.xiynove.HelloDatePickerA
解决方案
HelloDatePickerActivity回到名单Daten =新HelloDatePickerActivity();
下面是你的问题。想想吧。
编辑:无论如何,你必须明白,叫新活动()
是不好的编程习惯。不幸的是,我不能提供文件引用说,确切的事情。 有关创建新的活动的一些比较有用的参考。一>
My code was running fine but suddenly when i ran the code again, it gave me stack overflow error. Following is my code:HelloDatePickerActivity has already been defined.
HelloDatePickerActivity daten=new HelloDatePickerActivity();
static final int DATE_DIALOG_ID = 0;
Button mPickDate;
TextView mDateDisplay;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.offline_screen);
mPickDate=(Button)findViewById(R.id.pickDate);
mPickDate.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
showDialog(DATE_DIALOG_ID);
}
});
}
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
return new DatePickerDialog(this,
daten.mDateSetListener,
daten.mYear, daten.mMonth, daten.mDay);
}
return null;
}
}
And the Logcat is:
08-26 15:38:50.039: ERROR/AndroidRuntime(585): FATAL EXCEPTION: main
08-26 15:38:50.039: ERROR/AndroidRuntime(585): java.lang.StackOverflowError
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at java.lang.Thread.currentThread(Thread.java:558)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at java.lang.ThreadLocal.get(ThreadLocal.java:53)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at android.os.Looper.myLooper(Looper.java:157)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at android.os.Handler.<init>(Handler.java:119)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at android.app.Activity.<init>(Activity.java:728)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.HelloDatePickerActivity.<init>(HelloDatePickerActivity.java:14)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.ACB_OnlineScreenActivity.<init>(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.HelloDatePickerActivity.<init>(HelloDatePickerActivity.java:20)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.ACB_OnlineScreenActivity.<init>(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.HelloDatePickerActivity.<init>(HelloDatePickerActivity.java:20)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.ACB_OnlineScreenActivity.<init>(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.HelloDatePickerActivity.<init>(HelloDatePickerActivity.java:20)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.ACB_OnlineScreenActivity.<init>(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.HelloDatePickerActivity.<init>(HelloDatePickerActivity.java:20)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.ACB_OnlineScreenActivity.<init>(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.HelloDatePickerActivity.<init>(HelloDatePickerActivity.java:20)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.ACB_OnlineScreenActivity.<init>(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.HelloDatePickerActivity.<init>(HelloDatePickerActivity.java:20)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.ACB_OnlineScreenActivity.<init>(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.HelloDatePickerActivity.<init>(HelloDatePickerActivity.java:20)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.ACB_OnlineScreenActivity.<init>(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.HelloDatePickerActivity.<init>(HelloDatePickerActivity.java:20)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.ACB_OnlineScreenActivity.<init>(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.HelloDatePickerActivity.<init>(HelloDatePickerActivity.java:20)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.ACB_OnlineScreenActivity.<init>(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.HelloDatePickerActivity.<init>(HelloDatePickerActivity.java:20)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.ACB_OnlineScreenActivity.<init>(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.HelloDatePickerActivity.<init>(HelloDatePickerActivity.java:20)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.ACB_OnlineScreenActivity.<init>(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.HelloDatePickerActivity.<init>(HelloDatePickerActivity.java:20)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.ACB_OnlineScreenActivity.<init>(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.HelloDatePickerActivity.<init>(HelloDatePickerActivity.java:20)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.ACB_OnlineScreenActivity.<init>(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.HelloDatePickerActivity.<init>(HelloDatePickerActivity.java:20)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.ACB_OnlineScreenActivity.<init>(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.HelloDatePickerActivity.<init>(HelloDatePickerActivity.java:20)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.ACB_OnlineScreenActivity.<init>(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.HelloDatePickerActivity.<init>(HelloDatePickerActivity.java:20)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.ACB_OnlineScreenActivity.<init>(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.HelloDatePickerActivity.<init>(HelloDatePickerActivity.java:20)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.ACB_OnlineScreenActivity.<init>(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.HelloDatePickerActivity.<init>(HelloDatePickerActivity.java:20)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.ACB_OnlineScreenActivity.<init>(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.HelloDatePickerActivity.<init>(HelloDatePickerActivity.java:20)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.ACB_OnlineScreenActivity.<init>(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.HelloDatePickerActivity.<init>(HelloDatePickerActivity.java:20)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.ACB_OnlineScreenActivity.<init>(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.HelloDatePickerActivity.<init>(HelloDatePickerActivity.java:20)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.ACB_OnlineScreenActivity.<init>(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.HelloDatePickerActivity.<init>(HelloDatePickerActivity.java:20)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.ACB_OnlineScreenActivity.<init>(ACB_OnlineScreenActivity.java:23)
08-26 15:38:50.039: ERROR/AndroidRuntime(585): at acb.xiynove.HelloDatePickerA
解决方案
HelloDatePickerActivity daten=new HelloDatePickerActivity();
Here is your problem. Think about it.
Edit: Anyway, you must understand that calling new Activity()
is bad programming practice. Unfortunately I can't provide documentation reference saying that exact thing. Some relatively useful reference about creating new activities.
这篇关于堆栈溢出错误的Android?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文