Android 如何引用RelativeLayout以添加TextView?

Android 如何引用RelativeLayout以添加TextView?,android,Android,我试图引用一个xml文件,以便在AndroidStudio中动态添加TextView。我试图创建一个RelativeLayout对象,并将TextView添加到该对象中。我尝试给RelativeView xml块一个id并引用它。这两次都没有任何结果。猜猜我做错了什么 这是我的密码: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVi

我试图引用一个xml文件,以便在AndroidStudio中动态添加TextView。我试图创建一个RelativeLayout对象,并将TextView添加到该对象中。我尝试给RelativeView xml块一个id并引用它。这两次都没有任何结果。猜猜我做错了什么

这是我的密码:

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    RelativeLayout rl = new RelativeLayout(this);

    firstNumber = (TextView) findViewById(R.id.numberOne);
    firstNumber.setText(String.valueOf(myAddition.getNumOne()));
    secondNumber = (TextView) findViewById(R.id.numberTwo);
    secondNumber.setText(String.valueOf(myAddition.getNumTwo()));

    brandNew = new TextView(this);
    brandNew.setText("Hello");
    rl.addView(brandNew);

}
以下是xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"     
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"     
    tools:context=".MainActivityFragment">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="Math Champ"
    android:id="@+id/textView"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="87"
    android:id="@+id/numberOne"
    android:layout_below="@+id/textView"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="99dp" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="21"
    android:id="@+id/numberTwo"
    android:layout_below="@+id/numberOne"
    android:layout_centerHorizontal="true" />

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="@string/default_answer"
    android:id="@+id/answer"
    android:layout_below="@+id/numberTwo"
    android:layout_centerHorizontal="true" />

<Button xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/button_send"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/button_send"
    android:onClick="sendMessage"
    android:layout_centerHorizontal="true"
    android:layout_below="@+id/answer"/>

</RelativeLayout>

不要创建新的RelativeLayout。改为使用类似这样的方式获取对已在XML中创建的RelativeLayout的引用:

RelativeLayout rl = (RelativeLayout )findViewById(R.id.relativeLayoutId);
注意

将是您在XML中指定为id的任何内容。例如:

<RelativeLayout
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:id="@+id/relativeLayoutId">


这里的问题是,您正在创建一个新的RelativeLayout,但从未将其添加到层次结构中<代码>设置内容视图(rl)将显示该布局。这正是我需要的!这非常有效。
<RelativeLayout
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:id="@+id/relativeLayoutId">