0

デバイスを回転させると、これが再び彼のクラスを充電します。たとえば、オリエンテーション料金を再びグーグルに変更したときにグーグル検索をした場合。

私はそれを試してみました:

@Override
public void onConfigurationChanged(Configuration newConfig) {
  super.onConfigurationChanged(newConfig);
  setContentView(R.layout.principal);
}

およびonRestoreInstanceStateおよびonSaveInstanceState。しかし、私の問題は解決しません。誰かがそれを行う方法の例や説明を手伝ってくれれば幸いです。

ありがとう!


私は問題を解決しました、私はif(savedInstanceState == null)をする必要がありました:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.principal);

    webview.setWebViewClient(new WebViewClient());

    if (savedInstanceState == null)
    {
        webview.loadUrl("http://www.apple.es");
    }
}

  @Override   
    protected void onSaveInstanceState(Bundle outState)
    {  
      super.onSaveInstanceState(outState);  
      // Save the state of the WebView    
      webview.saveState(outState);
    }

    @Override
    protected void onRestoreInstanceState(Bundle savedInstanceState)  
    {  
      super.onRestoreInstanceState(savedInstanceState);
      // Restore the state of the WebView
      webview.restoreState(savedInstanceState);
    }

私の問題と私の解決策が誰かに役立つことを願っています!

4

3 に答える 3

0

AndroidManifestファイルにconfigChangesを追加します。例えば:

<activity android:name="YourActivityName"
          android:configChanges="orientation">
</activity>

現在のURLをローカル変数に保存し、onConfigChangesにロードします

@Override
public void onConfigurationChanged(Configuration newConfig) {
    yourWebView.loadUrl(yourUrl);
}
于 2012-05-17T08:06:48.813 に答える
0

次のコードを使用します

public void onConfigurationChanged(Configuration newConfig) {
    yourWebView.loadUrl(yourUrl);
}

このリンクを参照してください ローテーションAndroidでのアクティビティの再開

于 2012-05-17T08:55:20.593 に答える
0

クリスチャンは、Android開発者のWebサイトでこのドキュメントを参照し、romain guyが最後にロードした画像を保存し、構成画面が変更されたときにそれらを呼び出す方法を学ぶ必要があります。解決策は使用することです

  1. onRetainNonConfigurationInstance()
  2. getLastNonConfigurationInstance()

また、Androidの画面変更動作を取り除くために、このチュートリアルを常に参照しています

これがあなたのお役に立てば幸いです

于 2012-05-17T09:15:07.103 に答える