Инфлятор макета TableRow не отображает данные в альбомном режиме - PullRequest
2 голосов
/ 23 ноября 2011

У меня была странная проблема.Я создаю таблицу, надувая строку таблицы следующим образом:

TableLayout table = (TableLayout) findViewById(R.id.tablelay);
LayoutInflater inflater = getLayoutInflater();

for (int j = 0; j < limit ; j++) {

    TableRow row = (TableRow) inflater.inflate(R.layout.row_details, table, false);

     t1 = (TextView) row.findViewById(R.id.firstTxt);
     t1.setText(""+ firstData[j]);

     t2 = (TextView) row.findViewById(R.id.secondTxt);
     t2.setText(""+ secondData[j]);
     table.addView(row, new TableRow.LayoutParams(
                    TableRow.LayoutParams.FILL_PARENT,
                    TableRow.LayoutParams.WRAP_CONTENT)); 
 }

"row_details.xml" - это макет, содержащий два текстовых представления ("firstTxt", "secondTxt").Я могу добавить данные и отображается на экране.

Проблемы возникают, когда я перехожу в альбомный режим, тогда все данные теряются.Первоначально я думал, что это может быть связано с проблемой ориентации (то есть потеря данных из-за перезагрузки действия).

Но в первый раз, когда я загружаю упражнение в альбомном режиме, данные не отображаются, и теперь поворот в портретный режим показываетданные.Поэтому я думаю, что это происходит из-за надувания в ландшафтном режиме.

Наблюдение: - в книжной ориентации отображаются данные, а в альбомной ориентации - нет данных

как мне решить эту проблему? .... спасибо ввперед.

Ответы [ 2 ]

0 голосов
/ 23 ноября 2011

добавить тег активности манифеста configChange="orientation"

0 голосов
/ 23 ноября 2011

Попробуйте посмотреть на это как в документации Android:

http://developer.android.com/guide/topics/resources/runtime-changes.html

...