设置页商品名称搜索改动记录
需求与范围
根据需求,在设置页的汤底设置、熟食设置和商品设置中,在新增按钮左侧增加商品名称搜索。搜索仅针对当前设置页的商品名称执行模糊匹配;搜索内容为空时显示该页全部商品。
代码改动
app/src/main/res/layout/fragment_soup_layout.xml:为汤底设置与商品设置共用布局增加名称搜索输入框。app/src/main/res/layout/fragment_cooked_food_layout.xml:为熟食设置增加名称搜索输入框。FragmentSoup.java:监听搜索内容变化,对汤底或其他商品名称做忽略大小写的包含匹配;新增、编辑或删除后仍按当前搜索词刷新。FragmentCookedFood.java:监听搜索内容变化,对熟食商品名称做忽略大小写的包含匹配;启停、编辑或删除后仍按当前搜索词刷新。app/src/main/res/values/strings.xml:增加搜索提示和无匹配商品提示。app/src/main/res/drawable/ic_product_search.xml:新增搜索框左侧放大镜图标。
交互结果
- 输入任意名称片段即可实时过滤当前页商品。
- 键盘确认键显示为“搜索”;点击后会按当前输入内容刷新列表。
- 横屏输入时使用
flagNoExtractUi禁用输入法的独立全屏提取界面,输入框始终留在设置页内。 - 清空搜索内容后恢复当前页全部商品。
- 有商品但无匹配项时显示“未找到匹配商品”;当前页本身无商品时保留原有空态提示。
- 筛选后的列表点击、删除,以及熟食的启停操作仍作用于对应的原始商品。
验证
- 执行
git diff --check,未发现空白错误。 - 使用 Amazon Corretto 8 执行
JAVA_HOME=$(/usr/libexec/java_home -v 1.8) bash gradlew compileDebugJavaWithJavac testDebugUnitTest --console=plain,结果为BUILD SUCCESSFUL。
边界
- 本次仅新增本地设置页的名称筛选,不改动数据库、商品排序或结算页面。
- 工作区中已有的熟食结算未提交改动未被覆盖或纳入本次实现范围。