在Android Studio中将文本视图添加到相对布局

在Android Studio中将文本视图添加到相对布局,android,android-studio,textview,android-button,Android,Android Studio,Textview,Android Button,我的XML文件中有一个相对布局,它包含一个按钮。现在我想当我按下这个按钮时,它会创建两个文本视图。有什么帮助吗,因为我是Android Studio的新手?我已经尝试为按钮创建onClickListener,但是为了获得XML中当前相对布局的对象,我遇到了问题 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layou

我的XML文件中有一个相对布局,它包含一个按钮。现在我想当我按下这个按钮时,它会创建两个文本视图。有什么帮助吗,因为我是Android Studio的新手?我已经尝试为按钮创建onClickListener,但是为了获得XML中当前相对布局的对象,我遇到了问题

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_brush_your_teeth);

    Intent i = getIntent();

    final Button addAlertButton = (Button)findViewById(R.id.AddAlert);

    addAlertButton.setOnClickListener(new Button.OnClickListener(){
        public void onClick(View v){



        }
    });
}
以下是XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.user.dentalapp.BrushYourTeeth"
tools:showIn="@layout/activity_main">

<!--ALERT 1-->
<TextView
    android:id="@+id/Alert1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"

    android:text="Alert 1"
    android:textSize="25dp"
    android:textAppearance="?android:attr/textAppearanceLarge"

    android:layout_marginTop="50dp"
    android:layout_marginLeft="50dp"/>

<TextView
    android:id="@+id/Time1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"

    android:text="08:00"
    android:textSize="25dp"

    android:onClick="showTimePickerDialog"

    android:layout_above="@+id/Alert2"
    android:layout_alignParentRight="true"
    android:layout_marginRight="50dp"/>

<!--ALERT 2-->
<TextView
    android:id="@+id/Alert2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"

    android:text="Alert 2"
    android:textSize="25dp"
    android:textAppearance="?android:attr/textAppearanceLarge"

    android:layout_below="@id/Alert1"
    android:layout_marginTop="30dp"
    android:layout_marginLeft="50dp"/>

<TextView
    android:id="@+id/Time2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"

    android:text="21:00"
    android:textSize="25dp"

    android:layout_below="@id/Alert1"
    android:layout_marginTop="30dp"

    android:layout_alignParentRight="true"
    android:layout_marginRight="50dp"/>


<!--ADD ALERT BUTTON-->
<Button
    android:id="@+id/AddAlert"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"

    android:text="Add Alert"
    android:textAllCaps="false"
    android:textSize="25dp"
    android:padding="15dp"

    android:layout_below="@id/Alert2"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="200dp"/>

</RelativeLayout>


谢谢

此链接可能对您有用:

对于一个字符串,您可以将第二个文本视图添加到下面的方法中:

private void printmyname(){
    System.out.println("coming");
}

不确定,但类似的东西可以帮助您发布您尝试过的代码。@Masum我在问题中发布了代码。Thanks@SagarNayak我现在刚刚发布了XML。很抱歉我回复晚了。我已经将你的代码粘贴到我的项目中了。但是,我在“R.id.layout”中的“layout”一词和“this”关键字上遇到了一个错误。顺便问一下,你知道我做错了什么吗?谢谢
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_brush_your_teeth);

    final Button addAlertButton = (Button) findViewById(R.id.AddAlert);

    addAlertButton.setOnClickListener(new Button.OnClickListener() {
        public void onClick(View v) {

            RelativeLayout layout = (RelativeLayout) findViewById(R.id.layout);

            int prevTextViewId = 0;
            final TextView textView1 = new TextView(this);
            final TextView textView2 = new TextView(this);
            textView1.setText("Text 1");
            textView2.setText("Text 2");

            int curTextViewId = v.getId();

            textView1.setId(curTextViewId+1);
            textView2.setId(curTextViewId+2);

            final RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
                    RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);

            params.addRule(RelativeLayout.BELOW, v.getId()+1);
            textView1.setLayoutParams(params);
            params.addRule(RelativeLayout.BELOW, v.getId()+2);
            textView2.setLayoutParams(params);

            layout.addView(textView1, params);
            layout.addView(textView2, params);

        }
    });
}