質問

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

画面を回転させてランドスケープモードに移動すると、Coneateを思い出します。問題は、私がボタンを持っていることと、ハンドラーを通して更新されるテキストフィールドがあることですが、それらはもう反応しないようです。

このように、私がオンクリートにボタンを追加しようとするときのコードですが、ビューがランドスケープモードに変更されても応答しません。

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());
 }

人々はこの方向転換をどのように扱いますか? Coneclateを思い出さないようにする方法はありますか、またはこのケースを治療する最も一般的な方法は何ですか?

役に立ちましたか?

解決

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

他のヒント

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top