55import android .os .Bundle ;
66import android .os .Handler ;
77import android .support .v7 .app .AppCompatActivity ;
8+ import android .view .Menu ;
9+ import android .view .MenuInflater ;
10+ import android .view .MenuItem ;
811import android .view .View ;
912import android .widget .Button ;
1013import android .widget .CheckBox ;
2326
2427public class TaskViewActivity extends AppCompatActivity implements DatePickerDialog .OnDateSetListener , TimePickerDialog .OnTimeSetListener {
2528 Calendar whenTime ;
29+ EditText taskName ;
2630 TextView taskDate ;
2731 TextView taskTime ;
2832 CheckBox useCurrentTime ;
@@ -32,11 +36,10 @@ public class TaskViewActivity extends AppCompatActivity implements DatePickerDia
3236 protected void onCreate (Bundle savedInstanceState ) {
3337 super .onCreate (savedInstanceState );
3438 setContentView (R .layout .activity_task_view );
35- final EditText taskName = findViewById (R .id .task_name_content );
39+ taskName = findViewById (R .id .task_name_content );
3640 taskDate = findViewById (R .id .task_when_date );
3741 taskTime = findViewById (R .id .task_when_time );
3842 useCurrentTime = findViewById (R .id .useCurrentTime );
39- Button taskSave = findViewById (R .id .btn_save_task );
4043
4144 whenTime = Calendar .getInstance ();
4245
@@ -101,43 +104,47 @@ public void onClick(View view) {
101104 timePicker .show (getFragmentManager (), "TimePickerDialog" );
102105 }
103106 });
107+ }
104108
105- taskSave .setOnClickListener (new View .OnClickListener () {
106- @ Override
107- public void onClick (View view ) {
108- if (useCurrentTime .isChecked ()) {
109- updateTime ();
110- }
111- String name = taskName .getText ().toString ();
112- Long when = whenTime .getTimeInMillis ();
113- if (name .length () == 0 ) {
114- taskName .setError ("Task name is required!" );
115- return ;
116- }
117- WhenEvent evt = new WhenEvent (name , when );
118- Intent i = new Intent ();
119- i .putExtra ("whenName" , evt .getName ());
120- i .putExtra ("whenTime" , evt .getWhen ());
121- if (whenKey != null ) {
122- i .putExtra ("whenKey" , whenKey );
123- }
124- setResult (Activity .RESULT_OK , i );
125- finish ();
126- }
127- });
128-
129- useCurrentTime .setOnCheckedChangeListener (new CompoundButton .OnCheckedChangeListener () {
130- @ Override
131- public void onCheckedChanged (CompoundButton compoundButton , boolean isChecked ) {
132- if (isChecked ) {
109+ private void saveTask () {
110+ if (useCurrentTime .isChecked ()) {
111+ updateTime ();
112+ }
113+ String name = taskName .getText ().toString ();
114+ Long when = whenTime .getTimeInMillis ();
115+ if (name .length () == 0 ) {
116+ taskName .setError ("Task name is required!" );
117+ return ;
118+ }
119+ WhenEvent evt = new WhenEvent (name , when );
120+ Intent i = new Intent ();
121+ i .putExtra ("whenName" , evt .getName ());
122+ i .putExtra ("whenTime" , evt .getWhen ());
123+ if (whenKey != null ) {
124+ i .putExtra ("whenKey" , whenKey );
125+ }
126+ setResult (Activity .RESULT_OK , i );
127+ finish ();
128+ }
133129
134- } else {
130+ @ Override
131+ public boolean onCreateOptionsMenu (Menu menu ) {
132+ MenuInflater inflater = getMenuInflater ();
133+ inflater .inflate (R .menu .add_task_menu , menu );
134+ return true ;
135+ }
135136
136- }
137- }
138- });
137+ @ Override
138+ public boolean onOptionsItemSelected (MenuItem item ) {
139+ switch (item .getItemId ()) {
140+ case R .id .save_task :
141+ saveTask ();
142+ default :
143+ return super .onOptionsItemSelected (item );
144+ }
139145 }
140146
147+
141148 @ Override
142149 public void onDateSet (DatePickerDialog view , int year , int monthOfYear , int dayOfMonth ) {
143150 whenTime .set (Calendar .YEAR , year );
@@ -161,8 +168,7 @@ public void onTimeSet(TimePickerDialog view, int hourOfDay, int minute, int seco
161168 }
162169
163170 private void updateTime () {
164- Calendar now = Calendar .getInstance ();
165- whenTime = now ;
171+ whenTime = Calendar .getInstance ();
166172 updateDateTimeUI ();
167173 }
168174
0 commit comments