0

私がやろうとしているのは、セレクタ オプションの 1 つがマップ レイアウトの下にいくつかの追加ボタンを備えた Google マップであるマスター/詳細スタイル アプリを用意することです。

他のすべてのオプションは、次のようなものを使用して Fragment を FrameLayout にロードするだけです。

getSupportFragmentManager().beginTransaction()
    .replace(R.id.content, myFragment, fragTag)
    .commit();

レイアウトに他のものが必要であり、ネストされたフラグメントがサポートされていないため (まだうまくいけば)、MapFragment でそれを行うことはできません。したがって、通常の Fragment を Fragment を含む複合ビューに置き換える必要がありますが、Fragment 管理がここでどのように機能するかはわかりません。

電話しかできないと思う

getSupportFragmentManager().beginTransaction()
    .replace(R.id.content, myCompositeView, fragTag)
    .commit();

現時点では、私はこれをやっています:

Fragment currentFrag = getSupportFragmentManager().findFragmentById(R.id.content); 
getSupportFragmentManager().beginTransaction().remove(currentFrag);

LayoutInflater inflator = LayoutInflater.from(this);
ViewGroup container = (ViewGroup)findViewById(R.id.content);
container.removeAllViews();

View mapView = inflator.inflate(R.layout.store_finder, container, true);

レイアウトからすべてのビューを再度削除する必要があるため、これを他のフラグメントに再度置き換えると、少し面倒になります。また、このように設定した後、MapFragment を適切に削除する方法がわかりません。

助けていただければ幸いです。誰かが私の心を休ませてくれます:)

脚注: どうやら入れ子になったフラグメントは現在問題になっているようですが、これが単純なものを求めている方法であるかどうかはわかりません。http://developer.android.com/about/versions/android-4.2.html#NestedFragments

4

1 に答える 1

0

ネストされたフラグメントがサポートされています。以下を参照してください。

http://developer.android.com/reference/android/app/Fragment.html#getChildFragmentManager()

現在のアプリ/プロジェクトでそれらを使用していますが、うまく機能します。マッピング ビューでそれらを使用する際に追加の制約があるかどうかわかりませんか?

// ワイルドスタイル

于 2013-06-26T07:30:41.437 に答える