android搜索UpperCase

时间:2014-03-04 19:48:21

标签: android json uppercase

我正在和json一起工作。我已成功解析json并可以在listview(图像和文本)中显示结果。现在我想编写一个搜索函数来搜索我的json输出。我写了一个函数,它搜索名称,但json中的所有名称都以UpperCase开头,这就是问题所在。我还在没有UpperCase的情况下测试了我的代码,那时它正在工作。 这是我的代码

public void SearchFunction(String searchWord) {

    itemList.clear();
    adapter.notifyDataSetChanged();



    if (searchWord.equals(" ")) {
        for (int i = 0; i < contents.size(); i++) {
            HashMap<String, String> map = new HashMap<String, String>();

            map.put(KEY_name, contents.get(i).name);
            map.put(KEY_id, contents.get(i).id);
            itemList.add(map);
        }
    } else {
        for (int i = 0; i < contents.size(); i++) {
            if (contents.get(i).name.indexOf(searchWord) >= 0) {
                HashMap<String, String> map = new HashMap<String, String>();

                map.put(KEY_name, contents.get(i).name);
                map.put(KEY_id, contents.get(i).id);

                itemList.add(map);

            }

        }
    }
    adapter.notifyDataSetChanged();

}




listResult.addTextChangedListener(new TextWatcher() {
                public void afterTextChanged(Editable s) {
                }

                public void beforeTextChanged(CharSequence s, int start,
                        int count, int after) {

                }

                public void onTextChanged(CharSequence s, int start,
                        int before, int count) {

                    String searchWord = listResult.getText().toString();
                    list.setVisibility(View.VISIBLE);
                    SearchFunction(searchWord);

                }

            });

我想检查解决方案是否在UpperCase中。无论有没有UpperCase,我希望我的代码能够完美地工作。 请帮我解决。

2 个答案:

答案 0 :(得分:1)

您可以使用.toUpperCase()或.toLowerCase()

我的意思是

contents.get(i).name.toLowerCase().indexOf(searchWord.toLowerCase())

答案 1 :(得分:0)

您可能会对article "Adding Custom Suggestions" on Android developers感兴趣。

重写查询的方法就是我想要的。