Android 自定义表单中两个 Spinner 之间的交互

Interaction between two Spinner in Android custom form

我正在开发我的第一个 Android 应用程序,我想让我的 Spinner 进行交互。 这意味着我有一组独特的日期作为 Gregorian Calendar 对象,但其中一些共享同一天不同时间,例如:

Mon, 6 July 2015  14:30
Mon, 13 July 2015  14:30
Mon, 13 July 2015  17:00

到目前为止,2 个微调器,一个用于日期,另一个用于时间,是完全独立的:

但我想要一个配置,当我 select 第一个 Date Mon, 6 July 2015 我只能选择 14:30 而当我 select Mon, 13 July 2015 我可以选择 14:3017:00 这两个时间。

我知道这在 Javascript 中很容易,那么 Java 和 Android 呢?

好的。我快帮你完成了。

  • 制作两个微调器。

  • 之后 setOnItemSelectedListener 到两者。

  • make 两种方法 - 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));
    }
}