0

定期的な活動で、あなたは使用することができます

// Display the fragment as the main content.
     getFragmentManager().beginTransaction()
             .replace(android.R.id.content, new SettingsFragment())
             .commit();

メインコンテンツを別のフラグメントに置き換えます。Eclipse のデフォルトのスワイプ可能なタブ アクティビティでは、新しいフラグメントが他のフラグメントの上にオーバーレイされるだけです。どうにかして ViewPager 全体の ID を取得し、それを android.R.id.content の代わりに置き換えることはできますか? すべてのタブを新しいフラグメントに置き換えたいです。

4

1 に答える 1

2

通常、フラグメントは FrameLayout でインフレートされます。たとえば、- fragment_layout.xml

<FrameLayout android:id"@+id/framelayout" 
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>

フラグメント クラスでは、このレイアウトを次のように contentVIew として設定します。

public class TestFragmentActivity extends FragmentActivity {

  @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.fragment_layout);

}

また、Activity で replace() メソッドを使用して、このコンテンツ フレーム レイアウトに任意のフラグメントを配置できます。

getFragmentManager().beginTransaction()
             .replace(R.id.framelayout, new NewFragment())
             .commit();
于 2013-07-04T19:14:25.527 に答える