アプリで奇妙な問題が発生しています。私がここで尋ねた主な問題。問題はandroid:configChanges="keyboardHidden|orientation"
私のコードで機能していません。
@Override onConfigurationChanged()
そのため、向きを管理するためにコード内のメソッドで管理するソリューションを見つけました。しかし、まだ問題は適切に解決されていません。
現在の問題は、onConfigurationChanged()
向きを横から縦に変更すると 2 回呼び出されることです。
携帯電話の縦向きを横向きに変更すると、その変化と動作は変わりますが、ユーザーが電話の横向きを縦向きに移動する onConfigurationChanged()
と、呼び出して同じ向きの状態が返され、2 回目の呼び出しで縦向きに戻ります。
コード :
@Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE)
{
Log.e("On Config Change", "LANDSCAPE");
Toast.makeText(getApplicationContext(), "L", Toast.LENGTH_LONG)
.show();
} else
{
Log.e("On Config Change", "PORTRAIT");
Toast.makeText(getApplicationContext(), "P", Toast.LENGTH_LONG)
.show();
}
}
ログ
first mode its port mode , so change in land mode
02-28 12:10:06.274: E/On Config Change(540): LANDSCAPE
02-28 12:10:14.154: E/On Config Change(540): LANDSCAPE
// here after changed the land mode try to chage in port mode then its calling two times as you can see as per the log
02-28 12:10:14.593: E/On Config Change(540): PORTRAIT
02-28 12:11:39.524: E/On Config Change(540): LANDSCAPE
同じ質問のもう 1 つのクエリ >>
方向を変更すると ( の呼び出し時)、現在のアクティビティが強制終了されonConfigurationChanged
ます。前の質問のように、異なるフォルダーに2つのレイアウトがあります。画面アクティビティを変更すると、すべてのデータが削除されます。ユーザーが電話の向きを変更したときに、そのデータを保存してユーザーに表示するにはどうすればよいですか。