У меня возникли проблемы при попытке динамического заполнения TableRow.То, что я пытаюсь сделать, это когда я нажимаю кнопку экспорта, я компилирую верхний и нижний колонтитулы, а затем содержимое, после того как они сделаны, я продолжаю экспортировать в PDF.
Я заполнил свой TableLayout следующим кодом в compileContent ():
for (int i = 0; i < allCalibrationList.size(); i++) {
System.out.println("DATA" + allCalibrationList.get(i).getCalibrationName());
TableRow row = (TableRow) getLayoutInflater().inflate(R.layout.template_calibration_report_summary_item, summaryTableLayout, false);
TextView textCol1 = row.findViewById(R.id.row_col1);
TextView textCol2 = row.findViewById(R.id.row_col2);
textCol1.setText(allCalibrationList.get(i).getCalibrationName());
textCol2.setText(getString(R.string.report_not_calibrated_label));
summaryTableLayout.addView(row);
}
contentFinished = true;
Когда моя кнопка экспорта при нажатии:
@Click(R.id.buttonExport)
void buttonExportClicked(View view) {
FileOutputStream fileOutputStream;
try {
while (!headerFinished && !footerFinished && !contentFinished) {
compileHeader();
compileContent();
compileFooter();
}
// code to generate pdf
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
Проблема в том, когда ясначала нажмите кнопку экспорта, она пошла в compileContent () и из напечатанного сообщения, которое я поместил в цикл for, мне удалось распечатать данные.Однако tableRow не отображается в экспортированном PDF.TableRow будет отображаться только при повторном нажатии кнопки экспорта.
Однако, когда я нажимаю кнопку экспорта во второй раз, она не попадает в compileContent (), поскольку напечатанное сообщение, которое я установил для цикла, не печатается.Есть идеи, почему это так?Почему tableRow не отображается, когда есть данные?
Спасибо заранее!