Android:按一下按钮即可显示和隐藏Editext

时间:2013-11-28 04:26:11

标签: java android android-edittext

最初,我希望默认显示2个EditText,如果用户想要添加更多的EditText,他们应该使用一个按钮,如果用户不想显示,它们可以显示多达3个EditTexts和一个隐藏按钮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个EditTexts ......

我是否必须把它放在Arraylist中并做if if else?

3 个答案:

答案 0 :(得分:0)

试试这个..

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(new OnClickListener() {

            @Override
            public void onClick(View v) {
                if(count >= 5)
                {
                   Toast.makeText(getBaseContext(), "No more EditText Box to add.", Toast.LENGTH_SHORT).show();
                }
                else
                {
                  count++;

                  if(count == 3)
                   inputOptionName3.setVisibility(View.VISIBLE);
                  else if(count == 4)
                   inputOptionName4.setVisibility(View.VISIBLE);
                  else if(count == 5)
                   inputOptionName5.setVisibility(View.VISIBLE);
                }
            }
        });

 cancel.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    if(count <= 2)
                    {
                        Toast.makeText(getBaseContext(), "No more EditText Box to cancel.", Toast.LENGTH_SHORT).show();
                    }
                    else
                    {
                     if(count == 3)
                     inputOptionName3.setVisibility(View.GONE);
                     else if(count == 4)
                     inputOptionName4.setVisibility(View.GONE);
                     else if(count == 5)
                      inputOptionName5.setVisibility(View.GONE);

                     count--;
                    }
                }
            });

答案 1 :(得分:0)

在Button的onCLick()中,您可以执行类似

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

答案 2 :(得分:0)

请你试试这个:位置对你很重要,因为你想要动态添加3个以上editText开始形式2 edittext始终可见。您可以选择View.GONE想要的View.INVISIBLEinputOptionName1.setVisibility(View.VISIBLE); inputOptionName2.setVisibility(View.VISIBLE); inputOptionName3.setVisibility(View.GONE); inputOptionName4.setVisibility(View.GONE); inputOptionName5.setVisibility(View.GONE);

//在你的xml中

 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);
               }
                }
            });

//在您的Java代码中 -

{{1}}