Я создаю приложение, которое получает макет на основе внешних данных.Макет разделен на разные блоки в зависимости от индата.Эти блоки отображаются с помощью видоискателя.В каждом блоке на данный момент есть один или несколько «textview» и «edittext».На первой странице флиппера все данные отображаются так, как и должно быть в текстовых окнах и текстовых окнах.Но на других страницах в видоискателе значение в текстах редактирования не отображается, пока текст редактирования не будет сфокусирован.Понятия не имею почему.Так что, чтобы быть ясно.Значения для всех правочных текстов на самом деле есть, но они не отображаются, пока текст правки не будет сфокусирован.Проблема одинакова на всех устройствах, на которых я запускал приложение (эмулятор, HTC Desire, HTC Wildfire).Кто-нибудь знает, как решить эту проблему?
Вот класс, который генерирует макет:
public class ModuleLayout extends LinearLayout {
public ModuleLayout(Context context, ArrayList<BaseModuleItem> itemList) {
super(context);
TableLayout tempTable = new TableLayout(context);
for (int i = 0; i < itemList.size(); i++)
{
TableRow tempRow = new TableRow(context);
TextView tempTextView = new TextView(context);
tempTextView.setText(itemList.get(i).getName());
EditText tempEditText = new EditText(context);
tempEditText.setText(itemList.get(i).getItemValue());
tempRow.addView(tempTextView);
tempRow.addView(tempEditText);
tempTable.addView(tempRow);
}
tempTable.setColumnStretchable(1, true);
this.addView(tempTable);
}
}
Вот изображение проблемы в действии.
Левая картинка отображает все его значения в порядке.Правое изображение находится на второй позиции в видоискателе и не отображает значения в текстовых окнах, за исключением первого, которое имеет фокус.Я должен также упомянуть, что после того, как текст редактирования получил фокус, он продолжает отображать значение, даже если я переключаюсь на другие представления в видоискателе, а затем обратно.