首页 > 解决方案 > 如何根据从微调器中选择的代码在 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

标签: javaandroidarraysjson

解决方案


推荐阅读