diff --git a/app/src/main/java/org/houxg/leamonax/ui/NoteFragment.java b/app/src/main/java/org/houxg/leamonax/ui/NoteFragment.java index 1dcccfe..88938f6 100644 --- a/app/src/main/java/org/houxg/leamonax/ui/NoteFragment.java +++ b/app/src/main/java/org/houxg/leamonax/ui/NoteFragment.java @@ -56,6 +56,11 @@ public class NoteFragment extends Fragment implements NoteAdapter.NoteAdapterLis ActionModeHandler mActionModeHandler; NoteList mNoteList; Mode mCurrentMode; + OnSearchFinishListener mOnSearchFinishListener; + + public void setOnSearchFinishListener(OnSearchFinishListener onSearchFinishListener) { + this.mOnSearchFinishListener = onSearchFinishListener; + } public NoteFragment() { } @@ -146,6 +151,9 @@ public class NoteFragment extends Fragment implements NoteAdapter.NoteAdapterLis mNotes = notes; Collections.sort(mNotes, new Note.UpdateTimeComparetor()); mNoteList.render(mNotes); + if (mNotes.size() == 0 && mOnSearchFinishListener != null) { + mOnSearchFinishListener.doSearchFinish(); + } } @Override @@ -304,4 +312,8 @@ public class NoteFragment extends Fragment implements NoteAdapter.NoteAdapterLis } } + public interface OnSearchFinishListener { + void doSearchFinish(); + } + } diff --git a/app/src/main/java/org/houxg/leamonax/ui/SearchActivity.java b/app/src/main/java/org/houxg/leamonax/ui/SearchActivity.java index 5a18d47..dec24dc 100644 --- a/app/src/main/java/org/houxg/leamonax/ui/SearchActivity.java +++ b/app/src/main/java/org/houxg/leamonax/ui/SearchActivity.java @@ -4,11 +4,12 @@ import android.os.Bundle; import android.support.v4.app.FragmentTransaction; import android.support.v7.widget.SearchView; import android.support.v7.widget.Toolbar; -import android.text.TextUtils; import android.view.View; import android.widget.ImageView; import org.houxg.leamonax.R; +import org.houxg.leamonax.utils.DisplayUtils; +import org.houxg.leamonax.utils.ToastUtils; import butterknife.BindView; import butterknife.ButterKnife; @@ -46,6 +47,13 @@ public class SearchActivity extends BaseActivity { FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); mNoteFragment = NoteFragment.newInstance(); + mNoteFragment.setOnSearchFinishListener(new NoteFragment.OnSearchFinishListener() { + @Override + public void doSearchFinish() { + ToastUtils.show(SearchActivity.this, R.string.activity_search_note_not_found); + DisplayUtils.hideKeyboard(mSearchView); + } + }); transaction.add(R.id.container, mNoteFragment); transaction.commit(); diff --git a/app/src/main/java/org/houxg/leamonax/utils/DisplayUtils.java b/app/src/main/java/org/houxg/leamonax/utils/DisplayUtils.java index 788813a..1346a05 100644 --- a/app/src/main/java/org/houxg/leamonax/utils/DisplayUtils.java +++ b/app/src/main/java/org/houxg/leamonax/utils/DisplayUtils.java @@ -1,6 +1,11 @@ package org.houxg.leamonax.utils; +import android.content.Context; +import android.util.Log; +import android.view.View; +import android.view.inputmethod.InputMethodManager; + import org.houxg.leamonax.Leamonax; public class DisplayUtils { @@ -13,4 +18,32 @@ public class DisplayUtils { final float scale = Leamonax.getContext().getResources().getDisplayMetrics().density; return (int) (px / scale + 0.5f); } + + public static void hideKeyboard(View view) { + if (view == null) { + return; + } + try { + InputMethodManager imm = (InputMethodManager) view.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); + if (!imm.isActive()) { + return; + } + imm.hideSoftInputFromWindow(view.getWindowToken(), 0); + } catch (Exception e) { + Log.e("DisplayUtils", e.getMessage()); + } + } + + public static void showKeyboard(View view) { + if (view == null) { + return; + } + view.requestFocus(); + try { + InputMethodManager inputManager = (InputMethodManager) view.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); + inputManager.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT); + } catch (Exception e) { + Log.e("DisplayUtils", e.getMessage()); + } + } } diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index caa553e..f7194c1 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -113,4 +113,5 @@ 选择该笔记本所在的上一级笔记本目录 空目录(最顶层目录) 网络不可用,将在下次同步时删除 + 没有找到 \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 781635e..100248a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -115,4 +115,5 @@ 选择该笔记本所在的上一级笔记本目录 Choose current Notebook \'s parentNotebook directory Empty directory Network is unavailable, these notes will be deleted in next sync + Not found