diff --git a/astrid/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java b/astrid/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java index 6e95c8f15..b8b186c0e 100755 --- a/astrid/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java +++ b/astrid/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java @@ -9,6 +9,7 @@ import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.ContentValues; +import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.graphics.Bitmap; @@ -26,6 +27,7 @@ import android.view.View.MeasureSpec; import android.view.ViewGroup; import android.view.ViewGroup.LayoutParams; import android.view.ViewParent; +import android.view.inputmethod.InputMethodManager; import android.webkit.MimeTypeMap; import android.widget.ArrayAdapter; import android.widget.Button; @@ -1043,6 +1045,7 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener { } else { saveButtonClick(); } + hideKeyboard(); return true; } @@ -1274,4 +1277,10 @@ ViewPager.OnPageChangeListener, EditNoteActivity.UpdatesChangedListener { } scrollView.smoothScrollTo(0, top); } + + private void hideKeyboard() { + InputMethodManager imm = (InputMethodManager) getActivity().getSystemService( + Context.INPUT_METHOD_SERVICE); + imm.hideSoftInputFromWindow(title.getWindowToken(), 0); + } } diff --git a/astrid/src/main/java/com/todoroo/astrid/activity/TaskListActivity.java b/astrid/src/main/java/com/todoroo/astrid/activity/TaskListActivity.java index ab5cc323e..fcacfa08f 100644 --- a/astrid/src/main/java/com/todoroo/astrid/activity/TaskListActivity.java +++ b/astrid/src/main/java/com/todoroo/astrid/activity/TaskListActivity.java @@ -9,6 +9,7 @@ import android.animation.LayoutTransition; import android.app.Activity; import android.app.AlertDialog; import android.app.SearchManager; +import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.Fragment; @@ -17,6 +18,7 @@ import android.util.TypedValue; import android.view.KeyEvent; import android.view.View; import android.view.ViewGroup; +import android.view.inputmethod.InputMethodManager; import android.widget.FrameLayout; import com.actionbarsherlock.app.ActionBar; @@ -43,6 +45,7 @@ import com.todoroo.astrid.tags.TagFilterExposer; import com.todoroo.astrid.tags.TagService; import com.todoroo.astrid.tags.TagsPlugin; import com.todoroo.astrid.ui.DateChangedAlerts; +import com.todoroo.astrid.ui.QuickAddBar; import com.todoroo.astrid.utility.AstridPreferences; import com.todoroo.astrid.utility.Constants; import com.todoroo.astrid.utility.Flags; @@ -350,6 +353,7 @@ public class TaskListActivity extends AstridActivity implements OnPageChangeList @Override public boolean onPrepareOptionsMenu(Menu menu) { menuDrawer.closeMenu(); + hideKeyboard(); return super.onPrepareOptionsMenu(menu); } @@ -541,6 +545,7 @@ public class TaskListActivity extends AstridActivity implements OnPageChangeList } else { menuDrawer.openMenu(); } + hideKeyboard(); return true; case R.id.menu_settings: tlf.showSettings(); @@ -593,6 +598,17 @@ public class TaskListActivity extends AstridActivity implements OnPageChangeList } } + private void hideKeyboard() { + TaskListFragment tlf = getTaskListFragment(); + if (tlf == null) + return; + InputMethodManager imm = (InputMethodManager)getSystemService( + Context.INPUT_METHOD_SERVICE); + QuickAddBar qab = tlf.quickAddBar; + if (qab != null) + imm.hideSoftInputFromWindow(qab.getQuickAddBox().getWindowToken(), 0); + } + @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) {