android - 以编程方式创建 TextView 时如何在下方设置按钮?

标签 android android-edittext textview

我有一个按钮以编程方式创建 textview 和 edittext,一切正常,但问题是当 textview 和 edittext 生成的按钮出现在 textview 和 edittext 上方时,我想在它们下方设置按钮,以下是我的代码可以一个告诉你是什么问题?

addnewdata.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    LayoutInflater li = LayoutInflater.from(MainActivity.this);
                    View promptsView = li.inflate(R.layout.prompts, null);
                    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
                            MainActivity.this);
                    alertDialogBuilder.setView(promptsView);
                    final EditText userInput = (EditText) promptsView
                            .findViewById(R.id.editTextDialogUserInput);
                    alertDialogBuilder
                            .setCancelable(false)
                            .setPositiveButton("OK",
                                    new DialogInterface.OnClickListener() {


                                        public void onClick(DialogInterface dialog, int id) {

                                            totalFields++;
                                            lnr = (LinearLayout) findViewById(R.id.addnewlinear);
                                            LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,
                                                    LinearLayout.LayoutParams.WRAP_CONTENT);
                                            lp.setMargins(25, 0, 0, 0);
                                            valueTV = new TextView(MainActivity.this);
                                            // valueTV.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
                                            valueTV.setText(userInput.getText());
                                            valueTV.setLayoutParams(lp);
                                            valueTV.setTextSize(18);
                                            valueTV.setTag("tv_" + totalFields);
                                            valueTV.setId(totalFields);
                                            valueTV.setTextColor(Color.parseColor("#2d6cae"));
                                            LinearLayout.LayoutParams lp1 = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
                                                    LinearLayout.LayoutParams.WRAP_CONTENT);
                                            lp1.setMargins(25, 0, 25, 0);
                                            lp1.height = 50;

                                            EditText edtvalues = new EditText(MainActivity.this);

                                            edtvalues.setBackgroundResource(R.drawable.rect_edt);
                                            edtvalues.setLayoutParams(lp1);
                                            edtvalues.setTag("ed_" + totalFields);
                                            lnr.addView(valueTV);
                                            lnr.addView(edtvalues);
                                        }
                                    })
                            .setNegativeButton("Cancel",
                                    new DialogInterface.OnClickListener() {
                                        public void onClick(DialogInterface dialog, int id) {
                                            dialog.cancel();
                                        }
                                    });
                    AlertDialog alertDialog = alertDialogBuilder.create();
                    alertDialog.show();

                }
            });

enter image description here

xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/white"


    >

    <RelativeLayout
        android:id="@+id/header"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:background="#000000"
        android:gravity="center"
        >
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:text="IT ADD$"
            android:id="@+id/itaddestxt"
            android:textColor="#ffffff"
            android:textStyle="bold"
            android:textSize="20sp" />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:text="UP"
            android:textColor="#ffffff"
            android:layout_toRightOf="@+id/itaddestxt"
            android:textSize="20sp" />
    </RelativeLayout>

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/header"
        >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:id="@+id/addnewlinear"
            android:orientation="vertical"
            >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="ADD NEW EVENT"
                android:layout_marginTop="10dp"
                android:textSize="15dp"
                android:id="@+id/txtaddnewevent"
                android:textColor="#73b5fa"
                android:layout_alignParentTop="true"
                android:layout_centerHorizontal="true"
                android:layout_gravity="center_horizontal" />

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/txtaddnewevent"
                android:layout_marginTop="10dp"
                android:id="@+id/bluelines"
                />


            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Name of Event:*"
                android:layout_below="@+id/bluelines"
                android:layout_marginTop="20dp"
                android:layout_marginLeft="15dp"
                android:textSize="18dp"
                android:textColor="#2d6cae"
                android:id="@+id/txtnameofevent"
                />


            <EditText
                android:layout_width="match_parent"
                android:layout_height="30dp"
                android:id="@+id/edtnameofevent"
                android:layout_below="@+id/txtnameofevent"
                android:layout_marginLeft="15dp"
                android:layout_marginTop="5dp"
                android:layout_marginRight="15dp"
                />


            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Date of Event:*"
                android:layout_below="@+id/edtnameofevent"
                android:layout_marginTop="5dp"
                android:layout_marginLeft="15dp"
                android:textSize="18dp"
                android:textColor="#2d6cae"
                android:id="@+id/txtdateofevent"
                />

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/txtdateofevent"
                android:layout_marginLeft="15dp"
                android:layout_marginTop="5dp"
                android:id="@+id/reledtdate"
                >

            <EditText
                android:layout_width="250dp"
                android:layout_height="30dp"
                android:id="@+id/edtdateofevent"
                />

                <ImageView
                    android:layout_width="20dp"
                    android:layout_height="20dp"
                    android:layout_toRightOf="@+id/edtdateofevent"
                    android:layout_marginLeft="10dp"
                    android:id="@+id/calndrdat"
                    />
            </RelativeLayout>
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Time of Event:*"
                android:layout_below="@+id/reledtdate"
                android:layout_marginTop="5dp"
                android:layout_marginLeft="15dp"
                android:textSize="18dp"
                android:textColor="#2d6cae"
                android:id="@+id/txttimeofevent"
                />

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@+id/txttimeofevent"
                android:layout_marginLeft="15dp"
                android:layout_marginTop="5dp"
                android:id="@+id/reledttime"
                >
            <EditText
                android:layout_width="250dp"
                android:layout_height="30dp"
                android:id="@+id/edttimeofevent"

                />

                <ImageView
                    android:layout_width="20dp"
                    android:layout_height="20dp"
                    android:layout_toRightOf="@+id/edttimeofevent"
                    android:layout_marginLeft="10dp"
                    android:id="@+id/timepickrs"
                    />
            </RelativeLayout>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Duration of Event:*"
                android:layout_below="@+id/edttimeofevent"
                android:layout_marginTop="5dp"
                android:layout_marginLeft="15dp"
                android:textSize="18dp"
                android:textColor="#2d6cae"
                android:id="@+id/txtdurationofevent"
                />

            <EditText
                android:layout_width="match_parent"
                android:layout_height="30dp"
                android:id="@+id/edtdurationofevent"
                android:layout_below="@+id/txtdurationofevent"
                android:layout_marginLeft="15dp"
                android:layout_marginTop="5dp"
                android:layout_marginRight="15dp"
                />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/edtdurationofevent"
                android:layout_marginLeft="15dp"
                android:layout_marginTop="10dp"
                android:paddingBottom="10dp"
                android:id="@+id/addnewdata"
                android:text="Add"
                />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Submit"
                android:textColor="@android:color/white"
                android:layout_gravity="center"
                android:id="@+id/btnsubmit"
                />

            </LinearLayout>


        </ScrollView>

</RelativeLayout>

最佳答案

在按钮上方添加新布局(线性或相对)。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"


>

<RelativeLayout
    android:id="@+id/header"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:background="#000000"
    android:gravity="center"
    >
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:text="IT ADD$"
        android:id="@+id/itaddestxt"
        android:textColor="#ffffff"
        android:textStyle="bold"
        android:textSize="20sp" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:text="UP"
        android:textColor="#ffffff"
        android:layout_toRightOf="@+id/itaddestxt"
        android:textSize="20sp" />
</RelativeLayout>

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/header"
    >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:orientation="vertical"
        >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="ADD NEW EVENT"
            android:layout_marginTop="10dp"
            android:textSize="15dp"
            android:id="@+id/txtaddnewevent"
            android:textColor="#73b5fa"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_gravity="center_horizontal" />

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/txtaddnewevent"
            android:layout_marginTop="10dp"
            android:id="@+id/bluelines"
            />


        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Name of Event:*"
            android:layout_below="@+id/bluelines"
            android:layout_marginTop="20dp"
            android:layout_marginLeft="15dp"
            android:textSize="18dp"
            android:textColor="#2d6cae"
            android:id="@+id/txtnameofevent"
            />


        <EditText
            android:layout_width="match_parent"
            android:layout_height="30dp"
            android:id="@+id/edtnameofevent"
            android:layout_below="@+id/txtnameofevent"
            android:layout_marginLeft="15dp"
            android:layout_marginTop="5dp"
            android:layout_marginRight="15dp"
            />


        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Date of Event:*"
            android:layout_below="@+id/edtnameofevent"
            android:layout_marginTop="5dp"
            android:layout_marginLeft="15dp"
            android:textSize="18dp"
            android:textColor="#2d6cae"
            android:id="@+id/txtdateofevent"
            />

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/txtdateofevent"
            android:layout_marginLeft="15dp"
            android:layout_marginTop="5dp"
            android:id="@+id/reledtdate"
            >

        <EditText
            android:layout_width="250dp"
            android:layout_height="30dp"
            android:id="@+id/edtdateofevent"
            />

            <ImageView
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:layout_toRightOf="@+id/edtdateofevent"
                android:layout_marginLeft="10dp"
                android:id="@+id/calndrdat"
                />
        </RelativeLayout>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Time of Event:*"
            android:layout_below="@+id/reledtdate"
            android:layout_marginTop="5dp"
            android:layout_marginLeft="15dp"
            android:textSize="18dp"
            android:textColor="#2d6cae"
            android:id="@+id/txttimeofevent"
            />

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/txttimeofevent"
            android:layout_marginLeft="15dp"
            android:layout_marginTop="5dp"
            android:id="@+id/reledttime"
            >
        <EditText
            android:layout_width="250dp"
            android:layout_height="30dp"
            android:id="@+id/edttimeofevent"

            />

            <ImageView
                android:layout_width="20dp"
                android:layout_height="20dp"
                android:layout_toRightOf="@+id/edttimeofevent"
                android:layout_marginLeft="10dp"
                android:id="@+id/timepickrs"
                />
        </RelativeLayout>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Duration of Event:*"
            android:layout_below="@+id/edttimeofevent"
            android:layout_marginTop="5dp"
            android:layout_marginLeft="15dp"
            android:textSize="18dp"
            android:textColor="#2d6cae"
            android:id="@+id/txtdurationofevent"
            />

        <EditText
            android:layout_width="match_parent"
            android:layout_height="30dp"
            android:id="@+id/edtdurationofevent"
            android:layout_below="@+id/txtdurationofevent"
            android:layout_marginLeft="15dp"
            android:layout_marginTop="5dp"
            android:layout_marginRight="15dp"
            />
       <!--Empty layout-->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:id="@+id/addnewlinear"
        android:orientation="vertical"
        />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/edtdurationofevent"
            android:layout_marginLeft="15dp"
            android:layout_marginTop="10dp"
            android:paddingBottom="10dp"
            android:id="@+id/addnewdata"
            android:text="Add"
            />        

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Submit"
            android:textColor="@android:color/white"
            android:layout_gravity="center"
            android:id="@+id/btnsubmit"
            />

        </LinearLayout>


    </ScrollView>

关于android - 以编程方式创建 TextView 时如何在下方设置按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32600236/

相关文章:

java - Android EditText 动态改变文字为表情符号

android - 在 Android 中格式化多行 TextView 的第一行

android - 扫描梯度 : What it is and its examples

java - 安卓和Java : cross-platform properties loading

java - 如何向 Client Hello HTTPS (okHTTP) 添加扩展

android - 将edittext底线颜色更改为透明颜色

java - 如何转换为韩文首字母

java - 错误: “Method getText() must be called from the UI thread, currently inferred thread is worker.”

android - 在进度更新时滚动 TextView

java - 以未知高度垂直居中 TextViews/ImageViews - Android