Application crashes after screen orientation changed

后端 未结 2 416
傲寒
傲寒 2021-02-06 15:46

I\'ve got the following problem. After starting, application works fine - even after changing the screen orientation. The application is not yet prepared to handle orientation c

2条回答
  •  鱼传尺愫
    2021-02-06 16:32

    This Works for you

    package com.palewar;
    import android.app.Activity;
    import android.app.ProgressDialog;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Message;
    
    public class ThreadActivity extends Activity {
    
    
        static ProgressDialog dialog;
        private Thread downloadThread;
        final static Handler handler = new Handler() {
    
            @Override
            public void handleMessage(Message msg) {
    
                super.handleMessage(msg);
    
                dialog.dismiss();
    
            }
    
        };
    
        protected void onDestroy() {
            if (dialog != null && dialog.isShowing()) {
                dialog.dismiss();
                dialog = null;
            }
            super.onDestroy();
        }
    
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
    
            downloadThread = (Thread) getLastNonConfigurationInstance();
            if (downloadThread != null && downloadThread.isAlive()) {
                dialog = ProgressDialog.show(ThreadActivity.this, "",
                        "Signing in...", false);
            }
    
            dialog = ProgressDialog.show(ThreadActivity.this, "",
                    "Signing in ...", false);
    
            downloadThread = new MyThread();
            downloadThread.start();
            // processThread();
        }
    
        // Save the thread
        @Override
        public Object onRetainNonConfigurationInstance() {
            return downloadThread;
        }
    
    
        static public class MyThread extends Thread {
            @Override
            public void run() {
    
                try {
                    // Simulate a slow network
                    try {
                        new Thread().sleep(5000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    handler.sendEmptyMessage(0);
    
                } finally {
    
                }
            }
        }
    
    }
    

提交回复
热议问题