动态添加编辑文本

时间:2011-12-15 11:04:00

标签: android button android-edittext

我想在单击按钮时向我的应用添加编辑文本字段,但我不会更改布局。只需将其添加到xml文件定义的现有文件下面即可。 假设我有一个联系人应用程序,如果用户需要添加一个额外的字段按下按钮并创建一个! 怎么做?

3 个答案:

答案 0 :(得分:5)

在您的布局中保留一个EditText项目,并将其可见性设置为消失

 <EditText android:visibility="gone" android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>

然后在按钮的onClick事件上设置对可见的可见性。

您可以通过编程方式添加EditText项目。

将LinearLayout添加到xml。

<LinearLayout
        android:id="@+id/editTextGroupLayout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >
    </LinearLayout>

按钮点击事件以编程方式添加EditText。

LinearLayout linearLayout = (LinearLayout) findViewById(R.id.editTextGroupLayout);
    EditText editTextView = new EditText(this);
    editTextView.setGravity(Gravity.CENTER);

    LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT,
        LayoutParams.WRAP_CONTENT, 1);

    editTextView.setLayoutParams(params);

    linearLayout.addView(editTextView);

希望这会有所帮助。

答案 1 :(得分:1)

你可以做的是在面板中放置那些EditText,即将它们分组在面板中,然后有一个按钮,然后在按钮上单击创建EditText的实例并将其添加到相关面板。这样您就不会限制自己只能添加一个面板,而是仅限于用户想要添加的面板。

答案 2 :(得分:0)

首先,您从Web服务调用数据。

例如: description = Parser.getDescription;

在xml布局中:

 <Button android:id="@+id/button" android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:onClick="@string/ButtonClick"/>

 <EditText android:id="@+id/note" android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

代码:

        ButtonName  = (Button)findViewById(R.id.note);
        Data    = (EditText)findViewById(R.id.note);
        public void ButtonClick(View v){            
        description = Parser.getDescription;
        Data.settext(description);
    }