各フラグメントでデータオブジェクトへの参照を保持し(そうであると確信しています)、次のようなことを行うことをお勧めします。
public void onResume()
{
mDataObject = getFragmentManager.getFragmentByTag("Fragment1").getDataObject1();
super.onResume();
}
これを Frag 1 と Frag 2 で実行すると、モデルが更新されます。サブオブジェクトがある場合は、それらを比較して、このような関数でサブオブジェクトが異なるかどうかを判断する必要があります。
public void determineIfDifferent(DataObject mData1)
{
Field mData1Fields[] = mData1.getClass().getFields();
Field mData2Fields[] = mData2.getClass().getFields();
for (int i = 0; i < mData1Fields.length; i++)
{
try
{
if (mDataFields[i].get(mData) != null && tempFields[i].get(PS)!= null)
{
String mDataValue = mDataFields[i].get(mData).toString().trim();
String tempValue = tempFields[i].get(PS).toString().trim();
if (!mDataValue.equals(tempValue))
{
differenceList.add(tempValue);
}
}
}
catch (IllegalArgumentException e)
{
Logger.logStackTrace(getClass().getSimpleName(), e);
}
catch (IllegalAccessException e)
{
Logger.logStackTrace(getClass().getSimpleName(), e);
}
}
}
タイプが文字列でない場合、これは明らかに変更できます-これは私が手元に持っていたものです