处理以编程方式添加的 EditText

Handling an EditText that was added programatically

我一直在动态创建我的所有视图,现在我想添加一个 EditText 供人们写入。

我已经完成了大部分,但它看起来不对。我有一个线性布局,我正在向其添加相对布局。我正在使相对布局具有白色背景,然后添加 EditText。问题是,它总是将它添加到相对布局的直接中心,并且将它垂直对齐到顶部的选项到目前为止都失败了。

我还需要能够在按下单独的按钮时从中提取文本(我知道如何使按钮工作,这是从中提取文本的部分我有点不确定)。到目前为止,这是我的代码:

public void addEditText(LinearLayout L){
    EditText myEditText = new EditText(c);
    myEditText.setSingleLine(false);
    RelativeLayout l1 = new RelativeLayout(c);
    LinearLayout.LayoutParams lp=new LinearLayout.LayoutParams(scWidth1, 300);
    lp.gravity=Gravity.CENTER;

    l1.setLayoutParams(lp);
    l1.setBackgroundColor(Color.WHITE);
    l1.setGravity(Gravity.CENTER_VERTICAL);

    l1.addView(myEditText);
    L.addView(l1);
}

l1.setGravity(Gravity.CENTER_VERTICAL);EditText 置于父容器的垂直中心,即 RelativeLayout,删除该行。