0

画面の向きが変わったときにアプリケーションが Bluetooth 接続を再確立するようにします。onRetainNonConfigurationInstance() で保存し、getLastNonConfigurationInstance() で復元できる BT シリアル サービス データなどを保持する SavedState オブジェクトがありますが、画面の向きが変わったときに TextView フィールドが更新されなくなりました。

ビューを再フォーマットするために、レイアウト用に2つのxmlファイルがあります.1つはレイアウトポートに、もう1つはレイアウトランドフォルダーにあります。TextView ID は両方の xml ファイルで同じで、位置が変わるだけです。

オーバーライドされた onRetainNonConfigurationInstance() の呼び出しをコメント アウトすると、TextView が再び表示されるようになりますが、もちろん、BT デバイスに自動的に再接続することはできなくなります。

onDestroy() が呼び出されると BT サービスが停止されるため、画面が変わるたびに再確立する必要があります。

onRestoreInstanceState() および onSaveInstanceState() への呼び出しをオーバーライドしても効果がないようです。

誰かが私を正しい方向に向けることができますか? 消えるビューは永続的です。つまり、ある方向から変更して元に戻しても、TextView は復元されません。

4

1 に答える 1