首页 > 解决方案 > 搜索阿拉伯语自定义列表视图

问题描述

我有一个包含阿拉伯语字符串的自定义列表视图。我想在该列表视图中搜索特定视图(行)。我在主要活动中使用 addTextChangedListener,如下所示

 editsearch = (EditText) findViewById(R.id.search);
        editsearch.addTextChangedListener(new TextWatcher() {

            @Override
            public void afterTextChanged(Editable arg0) {
                // TODO Auto-generated method stub
                String text = editsearch.getText().toString().toLowerCase(Locale.ENGLISH.getDefault());
                //String text = editsearch.getText().toString();
                adapter.filter(text);
            }

           @Override
            public void beforeTextChanged(CharSequence arg0, int arg1,int arg2, int arg3) {
                // TODO Auto-generated method stub
            }

            @Override
            public void onTextChanged(CharSequence arg0, int arg1, int arg2,int arg3) {
                // TODO Auto-generated method stub
            }
        });

在我的适配器中,我使用基本适配器

   Context mContext;
    LayoutInflater inflater;
    private List<MyDataModelads2> modelList = null;
    private ArrayList<MyDataModelads2> arraylist;



    public myarraynew(Context context, List<MyDataModelads2> modelList) {
        mContext = context;
        this.modelList = modelList;
        inflater = LayoutInflater.from(mContext);
        this.arraylist = new ArrayList<MyDataModelads2>();
        this.arraylist.addAll(modelList);

    }

我在我的适配器中插入了以下过滤方法

 public void filter(String charText) {
        charText = charText.toLowerCase(Locale.getDefault());
        modelList.clear();
        if (charText.length() == 0) {
            modelList.addAll(arraylist);
        } else {
            for (MyDataModelads2 wp : arraylist) {
                if (wp.getName().toLowerCase(Locale.getDefault()).contains(charText)) {
                    modelList.add(wp);
                }
            }
        }
        notifyDataSetChanged();
    }

有两个问题:

  1. 当我在搜索栏中输入文本时,即使我删除了我输入的文本(空搜索栏),列表也会变为空。换句话说,在我在搜索栏中输入任何文本并删除该文本后,列表变为空。
  2. 我应该在我的代码中添加什么以启用对阿拉伯语的搜索?因为我认为代码仅适用于英语

标签: javaandroidlistviewandroid-searchandroid-searchmanager

解决方案


推荐阅读