Java Android:按下按钮即可显示和隐藏EditText

Java Android:按下按钮即可显示和隐藏EditText,java,android,android-edittext,Java,Android,Android Edittext,最初,我想在默认情况下显示2个EditText,如果用户想添加更多EditText,他们应该使用一个按钮,允许最多显示3个EditText,如果用户不想显示EditText,则使用一个隐藏按钮 关于我该如何处理这件事有什么建议吗 inputOptionName1 = (EditText) findViewById(R.id.optionName1); inputOptionName2 = (EditText) findViewById(R.id.optionName2);

最初,我想在默认情况下显示2个EditText,如果用户想添加更多EditText,他们应该使用一个按钮,允许最多显示3个EditText,如果用户不想显示EditText,则使用一个隐藏按钮

关于我该如何处理这件事有什么建议吗

    inputOptionName1 = (EditText) findViewById(R.id.optionName1);
    inputOptionName2 = (EditText) findViewById(R.id.optionName2);
    inputOptionName3 = (EditText) findViewById(R.id.optionName3);
    inputOptionName4 = (EditText) findViewById(R.id.optionName4);
    inputOptionName5 = (EditText) findViewById(R.id.optionName5);
现在这是我的代码,它只显示了5个编辑文本

我必须把这个放到Arraylist中,然后执行if和else吗?

试试这个

inputOptionName1.setVisibility(View.VISIBLE);
inputOptionName2.setVisibility(View.VISIBLE);
inputOptionName3.setVisibility(View.GONE);
inputOptionName4.setVisibility(View.GONE);
inputOptionName5.setVisibility(View.GONE);
在您的
JAVA
全局

int count = 2;
在您的
JAVA
onCreate()中

btn.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
如果(计数>=5)
{
Toast.makeText(getBaseContext(),“无需再添加编辑文本框。”,Toast.LENGTH_SHORT).show();
}
其他的
{
计数++;
如果(计数=3)
inputOptionName3.setVisibility(View.VISIBLE);
否则如果(计数=4)
inputOptionName4.setVisibility(View.VISIBLE);
否则如果(计数=5)
inputOptionName5.setVisibility(View.VISIBLE);
}
}
});
cancel.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
如果(count在按钮的onCLick()中,您可以执行以下操作

inputOptionName1.setVisibility(View.INVISIBLE);
inputOptionName2.setVisibility(View.INVISIBLE);
inputOptionName3.setVisibility(View.INVISIBLE);
inputOptionName4.setVisibility(View.INVISIBLE);
inputOptionName5.setVisibility(View.INVISIBLE);

请尝试以下操作:位置对您很重要,因为您希望动态添加最多3个editText开始表单2 editText始终可见。您可以选择所需的
View.GONE
View.INVISIBLE

//在xml中

inputOptionName1.setVisibility(View.VISIBLE);
inputOptionName2.setVisibility(View.VISIBLE);
inputOptionName3.setVisibility(View.GONE);
inputOptionName4.setVisibility(View.GONE);
inputOptionName5.setVisibility(View.GONE);
//在Java代码中-

 public static int position = 2;

 btn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
               if(position < 5)
               {
                inputOptionName+(++position).setVisibility(View.VISIBLE);
               }
            }
        });

 cancle.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                if(position > 2)
               {
                    inputOptionName+(--position).setVisibility(View.GONE);
               }
                }
            });
公共静态int位置=2;
btn.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
如果(位置<5)
{
inputOptionName+(++position).setVisibility(View.VISIBLE);
}
}
});
cancle.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
如果(位置>2)
{
inputOptionName+(-position).setVisibility(View.GONE);
}
}
});

如何将它们循环在一起?例如,如果只有两个选项可见,则只允许用户添加另一个选项,但如果选项3可见,则删除或添加另一个选项。全局java是什么意思?@Rager58这都是拼写错误,我编辑过,请尝试我的代码。它是全局的。在count++语法错误时,请插入“)要完成表达式,您需要修改
inputOptionName+(-position)
inputOptionName+(++position)
以使其可执行。我希望,基本上我已经尝试过给您一些方法。您可以尝试一下
(EditText)(((“inputOptionName”+(-position)).toString()。设置可见性(View.GONE)
明白我的意思了。
 public static int position = 2;

 btn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
               if(position < 5)
               {
                inputOptionName+(++position).setVisibility(View.VISIBLE);
               }
            }
        });

 cancle.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                if(position > 2)
               {
                    inputOptionName+(--position).setVisibility(View.GONE);
               }
                }
            });