时间选择器碎片区分

时间:2018-12-13 18:59:48

标签: android android-fragments timepicker android-timepicker

我遇到了一个问题,我的应用程序正确构建,按钮按预期运行,但是我正在使用两个时间选择器片段编辑的文本字段同时在开始时间选择器和结束时间选择器中进行编辑。

AT+CPIN=1234
AT+CREG=1
AT+CGATT=1
AT+CIPMUX=0
AT+CSTT="vpn","user","password"
AT+CIICR
AT+CIFSR

我的应用程序看起来像两个按钮,一个用于开始时间片段,另一个用于结束时间片段。我有两个单独的时间选择器片段Java文件。但是,当我设置结束时间片段时,它仍会修改开始时间文本。我想让开始时间选择器仅修改开始时间文本,而结束时间选择器仅修改结束时间文本。

为进一步说明何时按下选择开始时间按钮,TimePickerStratFragment已打开并选择了一个时间,这将修改一个名为textView的文本字段。但是,如果选择了时间结束按钮片段,它也会修改文本视图。我希望时间结束按钮不修改文本视图。

1 个答案:

答案 0 :(得分:0)

添加一个String值以检查哪个时间选择器已打开,因为两个片段都使用了onTimeSet触发,

String timeTag;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button button_start = (Button) findViewById(R.id.start_picker_button);
        button_start.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                timeTag = "from";
                DialogFragment timePicker1 = new TimePickerStartFragment();
                timePicker1.show(getSupportFragmentManager(),"time picker start");
            }
        });

        Button button_end = (Button) findViewById(R.id.end_picker_button);
        button_end.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                timeTag = "to";
                DialogFragment timePicker2 = new TimePickerEndFragment();
                timePicker2.show(getSupportFragmentManager(),"time picker end");
            }
        });

    }

    @Override
    public void onTimeSet(TimePicker TimePickerStartFragment, int hourOfDay, int minute) {

        if(Objects.equals(timeTag, "from")) {
            TextView textView = (TextView)findViewById(R.id.textView);
            textView.setText("Hour: " + hourOfDay + " " + "Minute: " + minute);
        }

        if(Objects.equals(timeTag, "to")) {

        }
}