Я не получаю силу закрытия при запуске этого кода, но вы что-то упустили.
Я попытался добавить следующее, но не увидел никакого текста:
tv.setText("Hello world!");
Проблема в том, что когда вы вызываете tr.addView, вы не устанавливаете никаких параметров макета в новой строке.Если вы измените строку на следующую, появится текст:
tr.addView(tv, new TableRow.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
Редактировать: Вот мысль о принудительном закрытии, правильно ли определено Tablelayout в вашем AndroidManifest.xml?У вас должно быть что-то вроде этого.
<application android:label="@string/app_name">
<activity android:name=".Tablelayout" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>