У меня есть 3 макета. fragment_tag
, fragment_stunde
и fragment_fach
Что делать в методе Fragment onCreateView?
fach
должны быть в stunde
и stunde
в tag
.
И в fach есть некоторые TextView
s Я хочу установить текст.
Так что мой код до сих пор:
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
LinearLayout tag = (LinearLayout)inflater.inflate(R.layout.fragment_tag, container, true);
database = new Database(context);
database.open();
for (int j = 1; j < 12; j++) {
LinearLayout stunde = (LinearLayout) inflater.inflate(R.layout.fragment_stunde, tag, true);
String[][] vplanDaten = database.getVplan(Integer.valueOf(DateHelper.get(DateHelper.WEEK_OF_YEAR)), index + 1, j);
for (int k = 0; k < vplanDaten.length; k++) {
LinearLayout fach = (LinearLayout) inflater.inflate(R.layout.fragment_fach, stunde, true);
TextView fach_lehrer = (TextView) fach.findViewById(R.id.textView_lehrer);
TextView fach_fach = (TextView) fach.findViewById(R.id.textView_fach);
TextView fach_raum = (TextView) fach.findViewById(R.id.textView_raum);
fach_lehrer.setText(vplanDaten[k][0]);
fach_fach.setText(vplanDaten[k][1]);
fach_raum.setText(vplanDaten[k][2]);
}
}
database.close();
return tag;
}
Но это дает мне ошибку:
java.lang.ClassCastException: android.support.v4.view.ViewPager cannot be cast to android.widget.LinearLayout
at de.MayerhoferSimon.Vertretungsplan.TagFragment.onCreateView(TagFragment.java:56)
Так как я должен изменить код, что то, что я хочу сделать, происходит?
, а не просто вызвать '' 'ViewGroup.addView()' ''? – maysi
@Simon no. Как вы сказали, 'fach должен быть в stunde и stunde в tag' ->' stunde.addView (fach); '' tag.addView (stunde); '<- И вы уже возвращаете' tag'. – Vikram
хорошо спасибо. это сработало :) – maysi