0

私のアプリケーションでは、フィルター リスト (オートコンプリート フィールド) から値を抽出しようとしています。そのフィールドには [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();
4

1 に答える 1

0

ありがとうネイト。私は実際に問題を修正しました。filterField オブジェクトを文字列に変換してから、最初のスペースのインデックスを探し、最初の単語を部分文字列にしました

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

再度、感謝します。

于 2012-07-12T15:26:13.673 に答える