java - 单击按钮时创建 EditText

标签 java android xml

我想创建一个 onclick 事件来创建 EditText。我已尝试以下代码,但它会删除所有内容并使用 EditText 创建一个新布局。

public class MainActivity extends Activity {

    ArrayList<Contact> contact;
    Contact currentcontact;
    EditText nameArea,emailArea,phoneArea;
    int emails=1;
    int phones=1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        nameArea=findViewById(R.id.name_area);
        emailArea=findViewById(R.id.e1);
        phoneArea=findViewById(R.id.p1);
        contact=new ArrayList<>();
    }

    public void buttonclick(View v){
        if(v.getId()==R.id.addemail){
            createemaileditview();
        }
        if(v.getId()==R.id.addphone){
            createphoneeditview();
        }
        if(v.getId()==R.id.save){

        }
        if(v.getId()==R.id.cancel){
        }

    }
    protected void createemaileditview(){
        LinearLayout outerLayout=new LinearLayout(this);
        outerLayout.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT));
        outerLayout.setOrientation(LinearLayout.VERTICAL);
        EditText email=new EditText(this);
        email.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT,1f));
        outerLayout.addView(email);
        setContentView(outerLayout);
        emails++;
    }
    protected void createphoneeditview(){
        phones++;
    }
}

最佳答案

您的代码中有一个小错误。您将通过调用 setContentView(outerLayout) 将主 Activity 布局替换为outerLayout。您可以通过将 editText 添加到主 Activity 布局来获得所需的功能,而不是创建新布局并替换所有现有内容。 请参阅链接以获取完整代码。 Dynamically add Edittext to a relative layout under an existing editText

关于java - 单击按钮时创建 EditText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52463421/

相关文章:

java - 无法在 R 中初始化 CoreNLP

java - 如何在Spring上获取没有关系的序列化对象

android - Android 浏览器上的 CSS 溢出和绝对定位问题

java - 捕获图像并仅将它们存储在android中的apk中?

java - 增加堆栈大小是否被认为是一种不好的做法?

html - 如何使用 XSLT 将 HTML 百分比编码转换为 Unicode?

php - 使用 PHP 和 XMLReader 解析 XML

java - 使用任意 xml 文件验证 xml

android - GPRS 追踪器可以直接与智能手机通信吗?

java - 如何从线程调用 UIThread 上的方法?