Mova duas textualizações lado a lado para serem uma abaixo da outra se o texto for muito longo

Eu tenho duas textviews como esta:

=======================
= TextView1 TextView2 =
=======================

E gostaria de detectar quando as visões de texto são muito longas, de forma que elas sejam exibidas assim:

=======================
=      TextView1      =
=      TextView2      =
=======================

atualmente para texto mais longo, é exibido assim:

=======================
= TextView1 Text      =
=           View2     =
=======================

Como posso fazer isso, de modo que, quando o texto é curto, as textviews estão lado a lado e, quando é muito longo, a segunda textview não é dividida, mas movida para a segunda linha?

Eu pensei em uma solução para criar uma única visão de texto e construir o texto de acordo com o comprimento (texto 1 + preenchimento + texto 2 se curto, e texto 1 + "\ n" + texto 2 se longo) mas eu não gosto desta solução.

Existe alguma maneira de detectar se o segundo texto será dividido de modo a alterar a orientação do layout que contém as textviews da horizontal vertical?

ATUALIZAR

Este é meu xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:gravity="center">

    <TextView
        android:id="@+id/my_text_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:padding="10dp"
        android:text="@string/text1"/>

    <TextView
        android:id="@+id/my_text_2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_marginRight="5dp"/>

</LinearLayout>

questionAnswers(3)

yourAnswerToTheQuestion