Я просмотрел подобные вопросы и пока не нашел ответа. В конечном итоге я буду добавлять каждый из моих View
после получения данных из базы данных SQL, но сейчас я просто пытаюсь добавить набор представлений, чтобы я мог заставить свой макет работать. У меня есть основное действие с менеджером фрагментов, который заставляет мои вкладки течь и загружаться очень хорошо, поэтому я не думаю, что мне нужно предоставлять этот код здесь.
Вот код для фрагмента:
public class EconFragment extends Fragment {
private ViewGroup container;
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
populateQuestions(container, inflater);
return inflater.inflate(R.layout.econfragment, container, false);
}
public void onPause() {
super.onPause();
container.removeAllViews();
}
private void populateQuestions(ViewGroup v, LayoutInflater inflater) {
container = v;
int count = 10;
int runner = 0;
while (runner < count) {
View question = inflater.inflate(R.layout.question, null);
question.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
container.addView(question, runner);
runner++;
}
}
}
Так что, хотя это должно быть заполнено более чем в одном View.xml View в контейнере, у меня есть только одно отображение. Интересно отметить, что я могу наблюдать за задержкой, когда бегун увеличивается до счета, но опять же, отображается только один вид вопроса. Когда я что-то изменяю, у меня появляется множество нулевых указателей вокруг моего TableLayout
, поэтому я удалил эту часть.
В конечном итоге xml EconFragment
имеет макет таблицы с ScrollView
, который имеет еще один TableLayout
, questionContainer.
Изначально я надеялся добавить каждый вид вопроса в виде строки в questionContainer
, но это доставляет мне массу неприятностей. Я полагаю, что это в некоторой степени связано с вызовом populateQuestions()
до оператора return в onCreateView()
?