0

我有一个编辑文本和一个包含所有联系人的列表视图。当我搜索名称并显示结果时,当我输入名称时,它会显示类似 AutoComplete 的结果,下面是我的代码

final EditText editTxt = (EditText) findViewById(R.id.txtContName);

    editTxt.addTextChangedListener(new TextWatcher() {

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

        public void afterTextChanged(Editable s) {
            inputName = s.toString();
            if(inputName!=null&&!inputName.trim().equals("")){

                ((Button) findViewById(R.id.btnsearch)).setBackgroundResource(R.drawable.search);

            Log.d(TAG, "LoadMoreEntries --> Constants.loadEntries : "
                    + Constants.loadEntries);
            try {
                if (Constants.loadEntries != null) {
                    Constants.loadEntries.cancel(true);
                }
            } catch (Exception e) {
                Log.e(TAG, "Loading Data-------------------------------", e);
            }
            Constants.loadEntries = new LoadEntries();
            Constants.loadEntries.execute();
        }
        }

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

        }
    });

我在尝试清除编辑文本时遇到问题,当编辑文本清除但没有发生时,所有结果都应该显示。任何帮助表示赞赏

4

2 回答 2

1

那是因为当输入为空白时,您没有得到所有结果?

if(inputName!=null&&!inputName.trim().equals("")){
...
}
于 2013-02-04T14:29:45.590 回答
0

所以我更改了代码以获得更好的格式。这应该可以解决你的问题。我不知道什么是 Constants.loadEntries = new LoadEntries(); 和常量.loadEntries.execute();

做,但也许也有问题。但是试试下面的代码:

    final EditText editTxt = (EditText) findViewById(R.id.txtContName);

    editTxt.addTextChangedListener(new TextWatcher()
    {

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

        public void afterTextChanged(Editable s)
        {
            inputName = s.toString();
            if (inputName != null && !inputName.trim().equals(""))
            {

                ((Button) findViewById(R.id.btnsearch)).setBackgroundResource(R.drawable.search);

                Log.d(TAG, "LoadMoreEntries --> Constants.loadEntries : "
                        + Constants.loadEntries);
                try
                {
                    if (Constants.loadEntries != null)
                    {
                        Constants.loadEntries.cancel(true);
                    }
                } catch (Exception e)
                {
                    Log.e(TAG, "Loading Data-------------------------------", e);
                }
                Constants.loadEntries = new LoadEntries();
                Constants.loadEntries.execute();
            }
            //Here do the else and call the LoadEntries
            else
            {
                Constants.loadEntries = new LoadEntries();
                Constants.loadEntries.execute();
            }
        }

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

        }
    });

更好的代码格式肯定会帮助你。

于 2013-02-04T14:30:06.700 回答