2

画面の向きを変更するときに問題があります。サービスによって呼び出される 2 つの意図を持つアクティビティがあります。

画面を回転させてランドスケープ モードにすると、onCreate が呼び出されます。問題は、ボタンと、ハンドラーを介して更新される TextField があることです)、それらはもう反応しないようです。

これは、onCreateにボタンを追加しようとしたときのコードですが、ビューがランドスケープモードに変更されると応答しません:

public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.call);

  Button endCall = (Button) findViewById(R.id.stopCall);
  endCall.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
    /// ...
   }
  });

  handleIntent(getIntent());
 }

人々はこの方向転換をどのように扱いますか? onCreateをリコールしないようにする方法はありますか、またはこのケースを処理する最も一般的な方法は何ですか?

4

2 に答える 2

2

ベスト プラクティスについては、このドキュメントを参照してください。configChanges は短期的なソリューションです http://android-developers.blogspot.com/2009/02/faster-screen-orientation-change.html

于 2011-01-01T00:35:47.547 に答える
0

あなたの場合、あなたがしなければならないことは、でハンドラーを停止することですonDestroy。そうすれば、でハンドラーを再実行できますonCreate

于 2010-12-05T01:28:45.647 に答える