Я создаю приложение, которое получает его макет на основе внешних данных. Макет разбивается на разные блоки в зависимости от инда. Эти блоки отображаются с помощью viewflipper. В каждом блоке на данный момент есть одно или несколько "текстовых" и "edittext". На первой странице флиппера все данные отображаются как в текстовых, так и в edittexts. Но на других страницах в viewflipper значение в edittexts не показывается, пока edittext не будет сфокусирован. Понятия не имею почему. Чтобы было ясно. Значения для всех edittexts на самом деле есть, но не отображаются до тех пор, пока 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);
}
}
Вот картина проблемы в действии.
Левое изображение отображает все его значения в порядке. Правильный снимок находится во второй позиции в viewflipper и не отображает значения в edittexts, за исключением того, что первый имеет фокус. Я должен также упомянуть, что после того, как edittext получил фокус, он продолжает отображать значение, даже если я перехожу к другим представлениям в viewflipper, а затем обратно.