我们可以在onCreateDialog中使用不同的整数来打印时间选择器和日期吗?

问题描述 投票:1回答:1

包 com.example.timepickerdialog;

import androidx.appcompat.app.AppCompatActivity;

import android.app.DatePickerDialog; import android.app.Dialog;

导入android.app.Dialog.AppCompatActivity;导入android.app.DatePickerDialog;导入android.app.Dialog。

import android.app.TimePickerDialog; import android.app.AppCompatActivity; import android.app.DatePickerDialog; import android.app.Dialog; import android.app.Dialog。

导入android.os.Bundle。

导入android.view.View.Button;导入android.widget.Button;导入android.app.Dialog;导入android.app.TimePickerDog;导入android.os.Bundle。

导入android.widget.DatePicker。

导入android.widget.TimePicker;导入android.widget.View;导入android.View.Button;导入android.widget.DatePicker。

导入android.widget.Toast.View;导入android.widget.Button;导入android.widget.DatePicker;导入android.widget.TimePicker。

public class MainActivity extends AppCompatActivity {
    Button button, button2;
    static final int DIALOG_ID = 0, SECONDDIALOGID = 0;
    int ApnaHour;
    int ApnaMinute, ApnaYear, ApanaDay, ApnaMonth;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    DialogListener();
}

public void DialogListener() {
    button = (Button) findViewById(R.id.button);
    button2 = (Button) findViewById(R.id.button2);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            showDialog(DIALOG_ID);
        }
    });


    button2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            showDialog(SECONDDIALOGID);
        }
    });
}

下面的问题是在这个覆盖中显示错误。如果我去掉int hh,那么在DateDialogPicker中就会显示错误.Plz告诉我这段代码到底有没有错。

@Override
protected Dialog onCreateDialog(int id , int hh) {
    if (id == DIALOG_ID)
        return new TimePickerDialog(MainActivity.this, SaadaTimePickerListener, ApnaHour, ApnaMinute, false);
    return null;
    if (hh== SECONDDIALOGID)
        return new DatePickerDialog(this, DateSaadaPickerListener,ApanaDay, ApnaMonth, ApnaYear);
    return null;}

Plz解决以上覆盖错误。

protected TimePickerDialog.OnTimeSetListener SaadaTimePickerListener = new TimePickerDialog.OnTimeSetListener() {
    @Override
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
        ApnaHour = hourOfDay;
        ApnaMinute = minute;
        Toast.makeText(MainActivity.this, ApnaHour + ":" + ApnaMinute, Toast.LENGTH_SHORT).show();

    }
};

private DatePickerDialog.OnDateSetListener DateSaadaPickerListener = new DatePickerDialog.OnDateSetListener() {
    @Override
    public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
        ApnaMonth = month;
        ApnaYear = year;
        ApanaDay = dayOfMonth;
        Toast.makeText(MainActivity.this, ApanaDay + "/" + ApnaMonth + "/" + ApnaYear, Toast.LENGTH_SHORT).show();
    }
};

}

android datepicker dialog overriding timepicker
1个回答
1
投票

showDialog现在已经废弃了。我给DatePicker和TimePicker写了当前时间和日期的代码。欢迎修改。

public void showDatePickerDialog(View v) {
    // Get Current Date or use your own Date
    final Calendar c = Calendar.getInstance();
    int mYear = c.get(Calendar.YEAR);
    int mMonth = c.get(Calendar.MONTH);
    int mDay = c.get(Calendar.DAY_OF_MONTH);

    DatePickerDialog datePickerDialog = new DatePickerDialog(this,
            new DatePickerDialog.OnDateSetListener() {
                @Override
                public void onDateSet(DatePicker view, int year,
                                      int monthOfYear, int dayOfMonth) {
                    //get date here
                }
            }, mYear, mMonth, mDay);
    datePickerDialog.show();
}

public void showTimePickerDialog(View v) {
    // Get Current Time or use your own Time
    final Calendar c = Calendar.getInstance();
    int mHour = c.get(Calendar.HOUR_OF_DAY);
    int mMinute = c.get(Calendar.MINUTE);

    // Launch Time Picker Dialog
    TimePickerDialog timePickerDialog = new TimePickerDialog(this,
            new TimePickerDialog.OnTimeSetListener() {
                @Override
                public void onTimeSet(TimePicker view, int hourOfDay,
                                      int minute) {
                    //get time here
                }
            }, mHour, mMinute, false);
    timePickerDialog.show();
}
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.