从筛选器列表中提取特定值(自动完成字段)

时间:2012-07-11 15:32:38

标签: java blackberry

在我的应用程序中我试图从过滤器列表中提取值(自动完成字段)。 在那个领域我有[ID,Name] ex [j342234,A,S]。我能够通过检索整个标准 这样做

Object Filterlistresult = fliterList.getCriteria();

但现在我想从该字段获取提取ID部分。任何想法?

提前谢谢你。

// here I get the values from a web server and insert them to the work Vector
public void parseJSONResponceInWB(String jsonInStrFormat) {
    try {
        JSONObject json = new JSONObject(jsonInStrFormat);
        JSONArray jArray = json.getJSONArray("transport");

        for (int i = 1; i < jArray.length(); i++) {
            JSONObject j = jArray.getJSONObject(i);
            ID = j.getString("ID");
            Name = j.getString("Name");

            WBenchVector.addElement(ID + " " + Name);
        }
    } catch (JSONException e) {
        e.printStackTrace();
    }
}

// adding the values to the filter list
private void RequestAutoComplete() {
    String[] returnValues = new String[WBenchVector.size()];
    System.out.print(returnValues);
    for (int i = 0; i < WBenchVector.size(); i++) {
        returnValues[i] = (String) WBenchVector.elementAt(i);
    }
    autoCompleteField(returnValues);
}

// creating the filter list field
private void autoCompleteField(String[] returnValues) {
    filterLst = new BasicFilteredList();
    filterLst.addDataSet(ID, returnValues, "",
            BasicFilteredList.COMPARISON_IGNORE_CASE);

    autoFld.setFilteredList(filterLst);
}

最后我得到了用户选择的内容

AutoFieldCriteria = filterLst.getCriteria();

1 个答案:

答案 0 :(得分:0)

谢谢Nate。我实际上解决了这个问题。 我将filterField对象转换为String然后我查找了第一个空格的索引,并将第一个单词的子字符串

      Object AutoFieldCriteria = filterLst.getCriteria();
 String AutoFieldString = AutoFieldCriteria.toString();
 int spacePos = AutoFieldString.indexOf(" ");
 String AutoFieldFirstWord = AutoFieldString.substring(0,spacePos);

再次感谢。