2016-02-17 2 views
0

Я создал код, следующий за разработчиком документации по документации по Android, но код, по-видимому, правильный, но для поворота экрана мобильного телефона он не ведет себя так, как должен поворачивать экран, и продолжить в том же состоянии, когда они вместо этого вернулись на домашнюю страницу. Здесь что-то не так?Вращение работает неправильно - webview

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Log.i(TAG,"onCreate"); 
    wv = (WebView) findViewById(R.id.webView1); 
    wv.getSettings().setJavaScriptEnabled(true); 
    wv.loadUrl("http://www.uol.com.br"); 
} 


@Override 
protected void onStart(){ 
    super.onStart(); 
    Log.i(TAG, "onStart"); 
} 
@Override 
protected void onRestart(){ 
    super.onRestart(); 
    Log.i(TAG, "onRestart"); 
} 
@Override 
protected void onPause(){ 
    super.onPause(); 
    Log.i(TAG, "onPause"); 
} 
@Override 
protected void onResume(){ 
    super.onResume(); 
    Log.i(TAG, "onResume"); 
} 
@Override 
protected void onDestroy(){ 
    super.onDestroy(); 
    Log.i(TAG, "onDestroy"); 
} 
@Override 
protected void onStop(){ 
    super.onStop(); 
    Log.i(TAG, "onStop"); 
} 

@Override 
protected void onSaveInstanceState(Bundle outState){ 
    super.onSaveInstanceState(outState); 
    wv.saveState(outState); 
    Log.i(TAG,"onSaveInstanceState"); 
} 

@Override 
protected void onRestoreInstanceState(Bundle savedInstanceState){ 
    super.onRestoreInstanceState(savedInstanceState); 
    wv.restoreState(savedInstanceState); 
    Log.i(TAG,"onRestoreInstanceState"); 
} 

ответ

0

Когда я запускаю ваш код, он работает нормально. Вы сохраняете и восстанавливаете состояние веб-просмотра правильно, поэтому веб-просмотр выбирается прямо там, где пользователь находился до поворота.

Одна вещь, однако, щелкнув любую ссылку на веб-странице, которую вы загрузите, откроется в браузере по умолчанию, а не в вашем приложении. Может быть, это связано с проблемой, которую вы видите?

Добавьте это в OnCreate(), чтобы открыть страницы в вашем приложении:

wv.setWebViewClient(new WebViewClient(){ 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     view.loadUrl(url); 
     return true; 
    } 
}); 
+0

Спасибо за ответ. Я сделал это, как было предложено, но по-прежнему не работает на моем телефоне, я использую LG L90. В журнале запуска Android-студии появляются два предупреждения, которые будут связаны с неработоспособностью вращения. E/SysUtils: ApplicationContext имеет значение null в ApplicationStatus. E/libEGL: validate_display: 255 error 3008 (EGL_BAD_DISPLAY) –

+0

Я предлагаю попробовать ваш код на другом устройстве и/или эмуляторе. Узнайте, что-то особенное для вашей LG. Может быть, веб-просмотр нужно обновить? – NightSkyDev

Смежные вопросы