java - 如何根据从微调器中选择的代码在 textView 中显示建议的单词?
问题描述
我有这个查找 json,它显示建议的单词。如果我在 editText 中输入“T”,则所有单词中包含“t”的值都将显示在建议的列表中。
它已经实施了。
我想做的是,如果我在微调器中选择一个代码,建议的显示值将基于所选代码。
这是我的微调器的 json
{
"products"{
"BI-BIKE",
"CA-CAR",
"MO-MOTOR",
"TR-TRICYCLE"
}
}
这是我的lookupjson的json
{
"BI": {
"brand": {
"GNT": "GIANT",
"TRL": "TREK",
"CNN": "CDALE",
"STC": "SANTA",
}
},
"CA": {
"brand": {
"AIC": "AICHI",
"BRI": "BRIGDESTONE",
"CON": "CONTINENTAL",
"DUN": "DUNLOP",
}
},
"MO": {
"brand": {
"CAN": "CANON",
"CAS": "CIO",
"FUJ": "FUJ",
"GPR": "PRO",
}
}
}
我需要做的是
如果我选择 "BI" ,并在 editText 字段中键入 "T",则将显示 "BI" 代码中带有 "t" 的所有值。
首先,我需要获取 (-) 之前的第一个单词,以便我检查代码在获取代码后,首先检查代码,然后再显示建议的单词。
这是我显示建议值的代码,而没有来自选定的微调器的连接。
private void loadLookupCategoryJson() {
mLookupProducts = new ArrayList<>();
mArrayStringLookupProduct = new ArrayList<String>();
try {
JSONObject json = new JSONObject(loadLookupBrandJSON());
Iterator<String> keys = json.keys();
while (keys.hasNext()) {
String key = keys.next();
JSONObject obj = (JSONObject) json.get(key);
JSONObject brand = obj.getJSONObject(Keys.CATEGORY_BRAND);
JSONObject desc = obj.getJSONObject(Keys.CATEGORY_DESC);
final String productCode = mProductDescriptionCd.split("-")[0];
if (productCode.equals(brand)){
Iterator<String> brandKeys = brand.keys();
while (brandKeys.hasNext()) {
String bKey = brandKeys.next();
mArrayStringLookupProduct.add((String) brand.get(bKey));
}
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
预期结果
选定产品:BI-BIKE
从 TextField 输入的文本:T
显示建议词:
GIANT
TREK
SANTA
实际结果
选定产品:BI-BIKE
从 TextField 输入的文本:T
显示建议词:
GIANT
TREK
SANTA
BRIGDESTONE
CONTINENTAL
解决方案
推荐阅读
- javascript - 纯 JSON 数据库
- javascript - Javascript - 在while循环中修改两个数组,两个数组都保留第二个值
- php - Dockerfile - 错误:对于 php 无法启动服务 php:OCI 运行时创建失败:container_linux.go:348:启动容器进程导致“exec
- python - 返回 JSON 列表和 PYTHON 请求库
- android - 如何在网页视图下方放置广告
- html - 使用 Bootstrap 垂直对齐
- django - 语法错误:'OPTIONS'(Django 上下文)的语法无效
- r - 通过 XRJulia 将公式从 R 传递给 Julia
- mongodb - MongoDB聚合 - 根据另一个数组中对象的存在设置数组中每个元素的布尔值
- reactjs - 无法访问 Kubernetes 上暴露的 Dockerized React 应用程序