[英]Android Java time picker listener cannot retrieve hours and minutes for first try
我无法获得用户为我的Android应用程序设置的分钟和小时数。 问题是,当我第一次尝试在public void onTimeSet...
函数中设置时间时,我的btn(hour+":"+minutes)
显示0:0但是如果我第二次尝试它,那么btn
能够显示时间。 我不确定是什么问题或我的编码逻辑是错误的...任何人都可以帮我跟踪它? 这是我的代码:
RelativeLayout rlSun = (RelativeLayout)rootView.findViewById(R.id.sundayRelativeLayout);
rlSun.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
//openTimePickerDialog(true);
Calendar currenttime = Calendar.getInstance();
final TimePickerDialog timePickerDialog = new TimePickerDialog(
getActivity(), //because this class extends fragment
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay,
int minute) {
// Get the selected time
hour =hourOfDay;
minutes = minute;
}
},
currenttime.get(Calendar.HOUR_OF_DAY),
currenttime.get(Calendar.MINUTE),
false);
timePickerDialog.setTitle("Set Time");
timePickerDialog.setButton(
DialogInterface.BUTTON_POSITIVE,
"Set",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
if (which == DialogInterface.BUTTON_POSITIVE) {
RelativeLayout rl = (RelativeLayout)rootView.findViewById(R.id.sundayRelativeLayout);
Button btn = new Button(getActivity());
btn.setText(hour+":"+minutes);
RelativeLayout.LayoutParams newParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,60);
rl.addView(btn,newParams);
}
}
});
timePickerDialog.setButton(DialogInterface.BUTTON_NEGATIVE,
"Cancel",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which){
if (which == DialogInterface.BUTTON_NEGATIVE){
timePickerDialog.cancel();
}
}
});
timePickerDialog.show();
附加信息:我已在课堂外宣布hour and minutes
在打开对话框之前,需要将hour
和minutes
变量初始化为当前时间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.