Имейте TableLayout внутри, который помещает все TableRows, как я надеюсь, что вы делаете, включая тот, что с ProgressBar, теперь вместо того, чтобы заменить.
Вы можете достичь этого другим способом, просто сделайте View.GONETableRow, содержащего ProgressBar и View.VISIBLE TableRow, который вы хотите показать.
Например;
<TableLayout>
<TableRow android:id="@+id/trheader1" .../>
<TableRow android:id="@+id/trheader2" .../>
<!-- keeping the visibility of gone //-->
<TableRow android:id="@+id/trRow3" android:visibility="gone" .../>
<!-- tr containing progressBar //-->
<TableRow android:id="@+id/trprogressBar" .../>
</TableLayout>
при получении данных
((TableRow) findViewById(R.id.trRow3)).setVisibilty(View.VISIBLE);
((TableRow) findViewById(R.id.trprogressBar)).setVisibilty(View.GONE);
Итак, я надеюсь, что это сработает для вас.Спасибо!