我正在开发我的第一个 Android 应用程序,我想让我的 Spinner
进行交互。
这意味着我有一组独特的日期作为 Gregorian Calendar
对象,但其中一些共享同一天不同时间,例如:
Mon, 6 July 2015 14:30
Mon, 13 July 2015 14:30
Mon, 13 July 2015 17:00
到目前为止,2 个微调器,一个用于日期,另一个用于时间,是完全独立的:
但我想要一个配置,当我选择第一个 Date
Mon, 6 July 2015
我只能选择 14:30,当我选择 Mon , 2015 年 7 月 13 日
我可以选择 14:30
和 17:00
这两个时间。
我知道这在 Javascript
中很容易,那么 Java 和 Android 呢?
最佳答案
好的。我几乎可以帮助您。
制作两个微调器。
之后对两者都进行 setOnItemSelectedListener。
制作两个方法 -
filterOne(int selectedId)
、filterTwo(int selectedId)
。
伪代码:
Spinner first,second;
SpinnerAdapter firstAdapter, secondAdapter;
filterOne(int id) {
secondAdapter = new CustomSpinnerAdapter(id);
second.setAdapter(secondAdapter);
}
filerTwo(int id) {
firstAdapter = new CustomSpinnerAdapter(id);
first.setAdapter(firstAdapter);
}
ArrayList<Date> dates;
CustomSpinnerAdapter(int id) {
dates = new ArrayList<Date>();
// on click from first spinner. set data to second.
if(id == 0) {
dates.add(new Date(2015, 06, 10));
dates.add(new Date(2015, 06, 11));
} else if(id == 1) {
// on click from second spinner. set data to first.
dates.add(new Date(2015, 06, 10));
}
}
关于android - Android 自定义表单中两个 Spinner 之间的交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31093707/