ich mehrere Skelett-Layouts wie dieses:umfassen Programmatically Layout in Android (Replikation der <include/> Tag
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android"
...
</merge>
Ich brauche dieses Layout in einem Linearlayout wickeln, wollen aber nicht mehrere XML-Dateien, da sie machen 'd nur ein Linearlayout hat und einen Tag enthält, so ...
<LinearLayout
<include layout="@layout/layout1"
</LinearLayout>
gibt es eine Möglichkeit, die gleiche Wirkung wie das @ Layout erreichen kann/Layout1 programmatisch? wie zu wählen, welche das Layout aufzunehmen? ich m dieses Layout für einen ViewHolder in einem Recyclervie aufblasen w, und gerade jetzt mache ich das.
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
ViewHolder vh = null;
View inflatedView;
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
switch (x) {
case 1:
inflatedView = inflater.inflate(R.layout.cool_layout, parent, false);
inflater.inflate(R.layout.layout1, (LinearLayout)inflatedView, true);
vh = new ViewHolder(inflatedView);
case 2:
inflatedView = inflater.inflate(R.layout.cool_layout, parent, false);
inflater.inflate(R.layout.layout2, (LinearLayout)inflatedView, true);
vh = new ViewHolder(inflatedView);
Es macht zwei inflate() Anrufe, die wahrscheinlich keine gute Idee ist, so dass ich bin auf der Suche nach einer Alternative zur Seite eine Reihe von XML-Dateien aus machen.