Android屏幕旋转问题

Android屏幕旋转问题,第1张

概述我的应用程序有问题.它正确地通过时间表系统中的所有形式并显示时间表,然而当我旋转屏幕以查看横向或纵向视图时,它会回到第一个屏幕,我无法弄清楚为什么…提前感谢任何帮助!packagecom.timetable;importjava.io.FileOutputStream;importjava.io.IOException;impo

我的应用程序有问题.它正确地通过时间表系统中的所有形式并显示时间表,然而当我旋转屏幕以查看横向或纵向视图时,它会回到第一个屏幕,我无法弄清楚为什么…提前感谢任何帮助!

    package com.timetable;import java.io.fileOutputStream;import java.io.IOException;  import org.Jsoup.Jsoup;    import org.Jsoup.nodes.document;    import org.Jsoup.nodes.Element;    import org.Jsoup.select.Elements;    import androID.app.Activity;    import androID.graphics.Bitmap;    import androID.graphics.Canvas;    import androID.graphics.Picture;    import androID.os.Bundle;    import androID.vIEw.KeyEvent;    import androID.vIEw.Window;    import androID.webkit.WebChromeClIEnt;    import androID.webkit.WebVIEw;    import androID.webkit.WebVIEwClIEnt;    public class Timetable extends Activity {        WebVIEw mWebVIEw;        //int count = 0;        String HTML = "<HTML><body>";        String HTML2 = "<HTML><body>";        document docs;        document docs2;        public String text(String HTMLrec)        {            try {                 docs2 = Jsoup.connect(HTMLrec).get();            } catch (IOException e) {                e.printstacktrace();            }            Elements data = docs2.getElementsByClass("timetables");            HTML2 += data.toString()+ "</body></HTML>";            return HTML2;        }        public voID main(String... args) {            try {                 docs = Jsoup.connect("http://www.dcu.IE/timetables/search.sHTML").get();            } catch (IOException e) {                e.printstacktrace();            }            Elements table = docs.getElementsByClass("timetables");            HTML += table.toString() + "</body></HTML>";        }        public voID onCreate(Bundle savedInstanceState) {            main();             super.onCreate(savedInstanceState);            setContentVIEw(R.layout.main);            getwindow().setFeatureInt( Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBIliTY_ON);            mWebVIEw = (WebVIEw) findVIEwByID(R.ID.webvIEw);            mWebVIEw.setWebVIEwClIEnt(new TimeClIEnt());            mWebVIEw.getSettings().setJavaScriptCanopenwindowsautomatically(true);            mWebVIEw.setClickable(true);            mWebVIEw.requestFocus();            mWebVIEw.setinitialScale(1);            //mWebVIEw.getSettings().setBlockNetworkLoads(true);            mWebVIEw.getSettings().setSupportZoom(true);            mWebVIEw.getSettings().setJavaScriptEnabled(true);            mWebVIEw.getSettings().setDomStorageEnabled(true);            mWebVIEw.loadDataWithBaseURL("http://www.dcu.IE/timetables/",HTML, "text/HTML", "utf-8","http://www.dcu.IE/timetables/");            final Activity MyActivity = this;            mWebVIEw.setWebChromeClIEnt(new WebChromeClIEnt() {             public voID onProgressChanged(WebVIEw vIEw, int progress)               {              //Make the bar disappear after URL is loaded, and changes string to Loading...              MyActivity.setTitle("Loading...");              MyActivity.setProgress(progress * 100); //Make the bar disappear after URL is loaded              // Return the app name after finish loading                 if(progress == 100)                    MyActivity.setTitle(R.string.app_name);               }             });        }        public boolean onKeyDown(int keyCode, KeyEvent event) {            if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebVIEw.canGoBack()) {                mWebVIEw.goBack();                            return true;            }            return super.onKeyDown(keyCode, event);        }        private class TimeClIEnt extends WebVIEwClIEnt {            public boolean shouldOverrIDeUrlLoading(WebVIEw vIEw, String url) {                if (vIEw.canGoBack() == false)                //if (count == 0)                {                    String newUrl = text(url);                    vIEw.loadDataWithBaseURL("http://www.dcu.IE/timetables/",newUrl, "text/HTML", "utf-8","http://www.dcu.IE/timetables/");                   // count++;            }            else            {                vIEw.loadUrl(url);                Picture picture = vIEw.capturePicture();                Bitmap  b = Bitmap.createBitmap( picture.getWIDth(),picture.getHeight(), Bitmap.Config.ARGB_8888);                Canvas c = new Canvas( b );                picture.draw( c );                fileOutputStream fos = null;                try                 {                    fos = new fileOutputStream( "/sd/dcu" +                    System.currentTimeMillis() + ".jpg" );                    if ( fos != null )                    {                        b.compress(Bitmap.CompressFormat.JPEG, 90, fos );                        fos.close();                    }                }                 catch( Exception e )                {                }             }            return true;        }    }}

解决方法:

发生的事情是,当您更改方向时,活动将被销毁并重新创建.为避免破坏和重新创建活动,请执行以下 *** 作:

androID:configChanges="orIEntation|keyboardHIDden|keyboard"

作为AndroIDManifest.xml中活动的属性.

总结

以上是内存溢出为你收集整理的Android屏幕旋转问题全部内容,希望文章能够帮你解决Android屏幕旋转问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1109411.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存