gpt4 book ai didi

java - 是否可以将小部件存储在列表/数组中?

转载 作者:行者123 更新时间:2023-11-30 11:43:15 25 4
gpt4 key购买 nike

全部 - 我有大量 Spinner,我想将它们存储在列表/数组中,这样我就不必重写大量代码。我有大约 30 个微调器,它们使用完全相同的代码。我试图找出一种方法将 30 个微调器放入数组列表中,然后通过我的代码运行数组/列表。示例:

Spinner spinner1 = (Spinner) findViewById(R.id.spinner);
Spinner spinner2 = (Spinner) findViewById(R.id.spinner2);
List<String> listOfSpinners= new ArrayList(); // This is the part I am not sure about
listOfSpinners.add(spinner1);
listOfSpinners.add(spinner2);


ArrayAdapter<String> adapterSpinner = new ArrayAdapter<String>(this,
R.layout.spinnerlayout, infoInSpinner);


adapterSpinner.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
listOfSpinners.setAdapter(adapterSpinner); //I want to use the list here (listOfSpinners)

我什至不知道这是否可能,但我虽然问过,否则这将是一个漫长的夜晚来编写重复代码:)。感谢您的宝贵时间!

最佳答案

将 ID 存储在数组中,作为 int。然后循环遍历它们以设置适配器。

ArrayList<Integer> listOfSpinners = new ArrayList<Integer>();
listOfSpinners.add(R.id.spinner);
listOfSpinners.add(R.id.spinner2);

ArrayAdapter<String> adapterSpinner = new ArrayAdapter<String>(this,
R.layout.spinnerlayout, infoInSpinner);

adapterSpinner.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
for (Integer spinner : listOfSpinners) {
// If you want multiple adapters, move the adapter code in here and alter it accordingly.
((Spinner) findViewById(spinner)).setAdapter(adapterSpinner);
}

我还没有测试过这段代码,但它应该可以正常工作!请记住,这会将所有 Spinner 设置为具有相同的适配器。

关于java - 是否可以将小部件存储在列表/数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11371523/

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