在微调器中隐藏字符串数组值
Hide String Array Value in Spinner
我正在使用两个微调器并使用相同的字符串数组填充它们:
final String[] arrayMonths = { "January", "Feburary", "March", "April", "May",
"June", "July", "August", "September", "October", "November","December" };
现在我想做一个小改动,我不想在 spinner1 中显示 december
,在 [=22= 中显示 January
]spinner2.
所以我必须在我的代码中更改哪里才能完成此操作?
代码
adapter = new ArrayAdapter<String> (ConnectedSpinnersStartEnd.this,
android.R.layout.simple_spinner_item, arrayMonths);
spinner1.setAdapter(adapter);
这比你想象的要容易得多。第一步是从数组移动到 ArrayList,这给你更多的灵活性,并将它提交到 ArrayAdapter
而不是 Array
ArrayList<String> mList = new ArrayList( Arrays.asList(arrayMonths));
mList.remove("December");
adapter = new ArrayAdapter<String> (ConnectedSpinnersStartEnd.this,
android.R.layout.simple_spinner_item, mList);
关于 onItemSelected
,如果我理解正确的话,您想从第一个微调器中删除所选项目并将其添加到第二个微调器中,
spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
String str1 = (String) parent.getItemAtPosition(position);
if (spinner2.getAdapter() == null) {
ArrayList<String> list = new ArrayList( Arrays.asList(arrayMonths));
list.remove("January");
ArrayAdapter adapter = new ArrayAdapter<String>(ConnectedSpinnersStartEnd.this, android.R.layout.simple_spinner_item, list);
spinner2.setAdapter(adapter);
}
我写在头上了,检查错别字
您可以在将数组转换为列表后使用子列表:
https://docs.oracle.com/javase/8/docs/api/java/util/List.html#subList-int-int-
喜欢:monthsList.subList(0,11)
和 monthsList.subList(1,12)
我正在使用两个微调器并使用相同的字符串数组填充它们:
final String[] arrayMonths = { "January", "Feburary", "March", "April", "May",
"June", "July", "August", "September", "October", "November","December" };
现在我想做一个小改动,我不想在 spinner1 中显示 december
,在 [=22= 中显示 January
]spinner2.
所以我必须在我的代码中更改哪里才能完成此操作?
代码
adapter = new ArrayAdapter<String> (ConnectedSpinnersStartEnd.this,
android.R.layout.simple_spinner_item, arrayMonths);
spinner1.setAdapter(adapter);
这比你想象的要容易得多。第一步是从数组移动到 ArrayList,这给你更多的灵活性,并将它提交到 ArrayAdapter
而不是 Array
ArrayList<String> mList = new ArrayList( Arrays.asList(arrayMonths));
mList.remove("December");
adapter = new ArrayAdapter<String> (ConnectedSpinnersStartEnd.this,
android.R.layout.simple_spinner_item, mList);
关于 onItemSelected
,如果我理解正确的话,您想从第一个微调器中删除所选项目并将其添加到第二个微调器中,
spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
String str1 = (String) parent.getItemAtPosition(position);
if (spinner2.getAdapter() == null) {
ArrayList<String> list = new ArrayList( Arrays.asList(arrayMonths));
list.remove("January");
ArrayAdapter adapter = new ArrayAdapter<String>(ConnectedSpinnersStartEnd.this, android.R.layout.simple_spinner_item, list);
spinner2.setAdapter(adapter);
}
我写在头上了,检查错别字
您可以在将数组转换为列表后使用子列表:
https://docs.oracle.com/javase/8/docs/api/java/util/List.html#subList-int-int-
喜欢:monthsList.subList(0,11)
和 monthsList.subList(1,12)