2017-07-10 24 views
-1

レイアウトを別のレイアウトに追加するにはどうすればよいですか?Androidの別のレイアウトにレイアウトを追加する方法

Javaで書かれたレイアウトを別のレイアウトに追加する方法を教えてください。この場合、drawerというdrawerLayoutにnew RevAppBarLayout().getRevAppBarLayout(this);を追加したいと思います。

DrawerLayout drawer = new DrawerLayout(this); 
drawer.addView(inflatedLayout); 

public class RevAppBarLayout extends MainActivity { 

    public AppBarLayout getRevAppBarLayout(Context context) { 
     AppBarLayout revAppBarLayout = new AppBarLayout(context); 
     Toolbar revToolBar = new Toolbar(context); 

     setSupportActionBar(revToolBar); 

     return revAppBarLayout; 
    } 
} 

これは、XMLフラグメントであればそれを行う方法です:

AppBarLayout revAppBarLayout = new RevToolBar().getRevAppBarLayout(this); 

LayoutInflater inflater = LayoutInflater.from(context); 
View inflatedLayout= inflater.inflate(R.layout.yourLayout, null, false); 
drawer.addView(inflatedLayout); 
+0

なぜ断片は関係しますか? 'View.addView'はメソッドであり、既にそれを使用しているようです –

答えて

1

あなたのレイアウトに引き出しを追加しますか?レイアウトから覚えていないので、新しいオブジェクトとして動的にインスタンス化しています。

他のレイアウトにレイアウトやビューを追加するためにインフレータは必要ありません。それがアクティビティの場合は、findViewById(R.id.layoutContainer);を使用してレイアウト(RelativeLayout、FrameLayoutなど)を取得し、addViewを使用してこのレイアウトに必要なビューを追加します。

関連する問題