Java Android:按下按钮即可显示和隐藏EditText
最初,我想在默认情况下显示2个EditText,如果用户想添加更多EditText,他们应该使用一个按钮,允许最多显示3个EditText,如果用户不想显示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);
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);
}
}
});