画面向きの変化の問題:OnCreate
-
08-10-2019 - |
質問
画面の向きを変更する際に問題があります。サービスによって呼び出される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
所属していません StackOverflow