mTimeButton=(Button)v.findViewById(R.id.crime_time);
Calendar calendar=Calendar.getInstance();
calendar.setTime(mCrime.getDate());
//一开始没有加final时
//使用newInstance方法传参数时会提示
// hour be accessed from within inner class,shoule be declare final
final int hour=calendar.get(Calendar.HOUR_OF_DAY);
final int minute=calendar.get(Calendar.MINUTE);
mTimeButton.setText(hour+":"+minute);
mTimeButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v)
{
mIsChange=true;
FragmentManager fragmentManager=getFragmentManager();
TimePickerFragment dialog=TimePickerFragment.newInstance(hour,minute);
dialog.setTargetFragment(CrimeFragment.this,REQUEST_TIME);
dialog.show(fragmentManager,DIALOG_TIME);
setIsChangeResult();
}
});
//为什么之前个体extra默认值设为0的时候,我只点了修改日期的按钮
//时间会被重置为0呢,讲道理没有执行这个方法啊
if(requestCode==REQUEST_TIME){
int hour=intent.getIntExtra(TimePickerFragment.EXTRA_HOUR,mCrime.getDate().getHours());
int minute=intent.getIntExtra(TimePickerFragment.EXTRA_MINUTE,mCrime.getDate().getMinutes());
mTimeButton.setText(hour+":"+minute);
mCrime.getDate().setHours(hour);
mCrime.getDate().setMinutes(minute);
updateDate();
}
public class TimePickerFragment extends DialogFragment { public static final String EXTRA_HOUR="com.example.purplefragment.extra_hour"; public static final String EXTRA_MINUTE="com.example.pur