gpt4 book ai didi

java - 根据选择的微调器值生成纯文本字段?

转载 作者:行者123 更新时间:2023-12-02 13:16:27 25 4
gpt4 key购买 nike

我目前正在 android studio 中创建一个应用程序。我面临的问题是根据微调器中选择的数字生成许多“纯文本”对象。我已在下面添加了 Activity 的布局。

layout of activity can be seen here

选择“人数”后,将根据该人数生成输入人员姓名的区域。最多人数为 4 人。

任何有关如何执行此操作的帮助将不胜感激!

最佳答案

我建议在微调器上使用 OnItemSelectedListener() 并设置“person”字段的 setVisibility()

此代码将假定您的最少人数为 1。每次从微调器中选择新值时,字段都会出现或消失。使用 GONE 提高可见性将隐藏该字段,但也会删除它所使用的空间。如果您想保留空间,请使用 INVISIBLE

也不要在 xml 布局代码中设置可见性,因为这可能会导致问题。

    person1 = (EditText)findViewById(R.id.person1);
person2 = (EditText)findViewById(R.id.person2);
person3 = (EditText)findViewById(R.id.person3);
person4 = (EditText)findViewById(R.id.person4);

list = new ArrayList<String>();

list.add("1");
list.add("2");
list.add("3");
list.add("4");

spinner = (Spinner)findViewById(R.id.spinner);

ArrayAdapter<String> adapter= new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list);

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

spinner.setAdapter(adapter);

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
{
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
{
spinnerValue = parent.getItemAtPosition(position).toString();

int value = Integer.parseInt(spinnerValue);

// Simpler logic for the visibility of the 'people' - kudos to RobCo for pointing this out//
person1.setVisibility(value>=1? view.VISIBLE:View.GONE);
person2.setVisibility(value>=2? view.VISIBLE:View.GONE);
person3.setVisibility(value>=3? view.VISIBLE:View.GONE);
person4.setVisibility(value>=4? view.VISIBLE:View.GONE);

/*
if (value == 1)
{
person1.setVisibility(View.VISIBLE);
person2.setVisibility(View.GONE);
person3.setVisibility(View.GONE);
person4.setVisibility(View.GONE);
}
else if (value == 2)
{
person1.setVisibility(View.VISIBLE);
person2.setVisibility(View.VISIBLE);
person3.setVisibility(View.GONE);
person4.setVisibility(View.GONE);
}
else if (value == 3)
{
person1.setVisibility(View.VISIBLE);
person2.setVisibility(View.VISIBLE);
person3.setVisibility(View.VISIBLE);
person4.setVisibility(View.GONE);
}
else
{
person1.setVisibility(View.VISIBLE);
person2.setVisibility(View.VISIBLE);
person3.setVisibility(View.VISIBLE);
person4.setVisibility(View.VISIBLE);
}
*/

}

@Override
public void onNothingSelected(AdapterView<?> parent)
{

}
});

祝你好运。

关于java - 根据选择的微调器值生成纯文本字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43745272/

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