2016-11-24 3 views
-2

私はHomeActivityをHomeFragmentに変換したいと思います。使用したいと思った通り私は活動を含むプロジェクトに取り組んでおり、いくつかのタブアクティビティをフラグメントに変換したいと思っています。

changefragment(new HomeFragment()); 

どうすればよいですか?提案してください

+0

あなたは誰かが代わりにあなたのことをしたいですか? –

+0

@surbhi私はあなたに参照リンクを与えることができます。これはhttps://www.raywenderlich.com/117838/introduction-to-android-fragments-tutorialに役立ちます – Nithinlal

答えて

0

ビューがアクティビティでインスタンス化される方法を変更し、それをフラグメントにシフトする必要があります。私の個人的な好みは、フラグメントのための新しいクラスファイルを作成し、その名前をFragmentとすることです。 ListActivity = ListFragment

その後の活動の内部onCreate方法、あなたは通常、setContentView:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_list); 

次にあなたがフラグメントのインスタンスを作成し、あなたのactivity_listレイアウトファイル内で作成した容器の中にそれを注入する必要があります。

ListFragment fragment = new ListFragment(); 
getSupportFragmentManager().beginTransaction() 
       .add(R.id.activity_list_container, fragment) 
       .commit(); 

は、あなたがgetActivity()を使用し、代わりにコンテキストを参照するときthisを使用する以外、活動と同様にフラグメントを扱います。ここで

は、あなたのactivity_list.xmlレイアウトファイルがどのように見えることができるものの例です:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:context=".ListActivity"> 

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:id="@+id/activity_list_container"/> 

    </android.support.design.widget.CoordinatorLayout> 
関連する問題