2017-03-30 9 views
-1

私は1つの断片だけをロードする必要があるアクティビティを持っています。簡単な方法でフラグメントをロードするには?

アクティビティがFragmentManagerの代わりにxmlを通してフラグメントを読み込むように何かできますか?今、私はフラグメントクラスを書く必要があり、それは私がやりたいことではありません。

これは私がそれを行う方法です。

public class MyActivity extends Activity { 

    private ExampleFragment fragment; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     FrameLayout frame = new FrameLayout(this); 
     if (savedInstanceState == null) { 
      fragment = new ExampleFragment(); 
      FragmentTransaction ft = getFragmentManager().beginTransaction(); 
      ft.add(frame.getId(), mFragment).commit(); 
     } 

     setContentView(frame); 
    } 
} 
+1

「今、私はフラグメントクラスを書く必要があり、それは私がやりたいことではありません」 - なぜフラグメントを使用しようとしていますか?フラグメントの後ろの*ポイント*は、UIの部分を管理する 'Fragment'のサブクラスを持つことです。 'FragmentTransaction'(https://developer.android.com/guide/components/fragments.html#Adding)の代わりに' 'タグを使用しても構いませんが、依然として' Fragment'サブクラスが必要です。 – CommonsWare

+0

シングルフラグメントを作成するポイントは何ですか??フラグメントとは、メインアクティビティを異なる部分に分割することです。 –

+0

@AjayShrestha同じフラグメントを読み込むアクティビティを持つ論理的な理由がありますが、アクティビティは異なって見えます。 –

答えて

2

ない私はそれは私がそれを掲示しています上記の私の質問を解決するがために期待していた正確な答え。たぶん誰かを助けるかもしれない。乾杯!

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <fragment 
     android:name="com.example.MyFragment" 
     android:id="@+id/myFragment" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

</LinearLayout> 
関連する問題