最初,我希望默认显示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?
答案 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.INVISIBLE
或inputOptionName1.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}}