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

时间:2015-06-27 21:30:30

标签: android forms validation spinner

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

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

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

enter image description here

但是我需要一个配置,当我选择第一个Date Mon, 6 July 2015时,我只选择14:30,当我选择Mon, 13 July 2015时,我会选择两次14:30 1}}和17:00

我知道Javascript这是一个简单的任务,Java和Android怎么样?

1 个答案:

答案 0 :(得分:2)

确定。它几乎帮助了我。

  • 制作两个旋转器。

  • 将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));
    }
}