堆栈溢出错误的Andr​​oid? [英] Stack Overflow error android?

查看:181
本文介绍了堆栈溢出错误的Andr​​oid?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的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.

这篇关于堆栈溢出错误的Andr​​oid?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆