AとBの2つのアクティビティがあります。
public class A extends Activity
{
....
@Override
protected void onResume()
{
super.onResume();
if(MyStaticVarz.myFlag)
{
MyStaticVarz.myFlag= false;
SomeTask();
}
}
MyStaticVarz.java:
public class MyStaticVarz
{
public static boolean myFLag = false;
}
AからBに移動し、myFlagを次のようにtrueに変更します。
MyStaticVarz.myFlag = true;
もう一度Aに戻りますが、onResumeでif(MyStaticVarz.myFlag)がfalseで、SomeTask()に到達していません。
次のようにAからBに移動します:
Intent i = new Intent(A.this, B.class);
startActivity(i);
UPDATE SomeTask()は、AおよびBのテキストのフォントサイズを変更するためのものです。
myFlagは、UIのオンデマンド再初期化用であり、フォント設定が変更された場合、SomeTask()が実行されます。
BのoptionMenuをクリックし、フォントサイズを変更して、Bに移動すると、変更が表示されますが、Aに戻ると、テキストフォントサイズは発生しません。
たぶん重要:Aに戻って、フォントサイズが正しくなく、myFlagもfalseの場合、向きを変更すると、テキストのfontsizeは正常ですが、myFlagは再びfalseになります。