包 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();
}
};
}
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();
}