gpt4 book ai didi

java - 单击按钮时创建 EditText

转载 作者:行者123 更新时间:2023-12-02 10:47:16 24 4
gpt4 key购买 nike

我想创建一个 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com