Преглед изворни кода

搜索游戏中逻辑修改:
1.不再提供用户强制刷新
2.输入框内容为空时可点击搜索出全部游戏
3.删除输入框后,有搜索历史就显示,没有就展示无数据图片

zengjiebin пре 7 година
родитељ
комит
1070f9f700

+ 26 - 21
app/src/main/java/com/sheep/gamegroup/view/activity/ActSearchApp.java

@@ -19,6 +19,7 @@ import android.widget.TextView;
 import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.gamegroup.model.entity.SearchAppRecord;
 import com.sheep.gamegroup.util.ListUtil;
+import com.sheep.gamegroup.util.LogUtil;
 import com.sheep.gamegroup.util.MyDbManager;
 import com.sheep.gamegroup.util.ViewUtil;
 import com.sheep.gamegroup.view.adapter.ArrayAdapter;
@@ -89,6 +90,10 @@ public class ActSearchApp extends BaseActivity {
                         ListUtil.addAll(searchRecordList, allSearchRecordList, 10);
                         inputAdapter.notifyDataSetChanged();
                         MyDbManager.getInstance().hideSearchApp(item);
+                        if(searchRecordList.isEmpty()){
+                            frame_container.setVisibility(View.VISIBLE);
+                            search_app_list.setVisibility(View.INVISIBLE);
+                        }
                     }
                 });
                 return true;
@@ -133,7 +138,12 @@ public class ActSearchApp extends BaseActivity {
             @Override
             public void afterTextChanged(Editable editable) {
                 title_search_input.removeCallbacks(autoSearchRunnable);
-                title_search_input.postDelayed(autoSearchRunnable, 1000L);//1秒后自动搜索
+                if(editable.toString().isEmpty() && !searchRecordList.isEmpty()){//输入框内容为空且有搜索记录时显示搜索记录
+                    search_app_list.setVisibility(View.VISIBLE);
+                    frame_container.setVisibility(View.INVISIBLE);
+                } else {
+                    title_search_input.postDelayed(autoSearchRunnable, 1000L);//1秒后自动搜索
+                }
             }
         });
     }
@@ -188,29 +198,24 @@ public class ActSearchApp extends BaseActivity {
 
     //尝试搜索游戏
     private void toSearchApp() {
-        String inputText = title_search_input.getText().toString();
-        if (TextUtils.isEmpty(inputText)) {
-            fgtSearchApp.clear();
-            fgtSearchApp.notifyDataSetChanged();
-            search_app_list.setVisibility(View.VISIBLE);
-            frame_container.setVisibility(View.INVISIBLE);
-            return;
-        }
         search_app_list.setVisibility(View.INVISIBLE);
         frame_container.setVisibility(View.VISIBLE);
-        //保存搜索到数据库
-        SearchAppRecord searchRecord = searchRecordMap.get(inputText);
-        if(searchRecord == null) {
-            searchRecord = new SearchAppRecord();
-            searchRecord.setInput(inputText);
-            searchRecordList.add(searchRecord);
-            allSearchRecordList.add(searchRecord);
-            searchRecordMap.put(inputText, searchRecord);
+        String inputText = title_search_input.getText().toString();
+        if (!TextUtils.isEmpty(inputText)) {
+            //保存搜索到数据库
+            SearchAppRecord searchRecord = searchRecordMap.get(inputText);
+            if(searchRecord == null) {
+                searchRecord = new SearchAppRecord();
+                searchRecord.setInput(inputText);
+                searchRecordList.add(searchRecord);
+                allSearchRecordList.add(searchRecord);
+                searchRecordMap.put(inputText, searchRecord);
+            }
+            searchRecord.setTime(System.currentTimeMillis());
+            searchRecord.addCount();
+            MyDbManager.getInstance().saveOrUpdate(searchRecord);
+            inputAdapter.notifyDataSetChanged();
         }
-        searchRecord.setTime(System.currentTimeMillis());
-        searchRecord.addCount();
-        MyDbManager.getInstance().saveOrUpdate(searchRecord);
-        inputAdapter.notifyDataSetChanged();
         fgtSearchApp.toSearch(inputText);
     }
 }

+ 7 - 1
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtSearchApp.java

@@ -22,6 +22,12 @@ public class FgtSearchApp extends BaseListFragment<GameEntity> {
         return -1;
     }
 
+    @Override
+    public void initView() {
+        super.initView();
+        view_list.setPullRefreshEnabled(false);
+    }
+
     private String name;
     private int type = 0;
     @Override
@@ -52,6 +58,6 @@ public class FgtSearchApp extends BaseListFragment<GameEntity> {
     }
     public void toSearch(String name) {
         this.name = name;
-        view_list.refresh();
+        refreshData();
     }
 }