0

編集テキストとすべての連絡先のリストビューがあります。名前を検索すると結果が表示されます。名前を入力すると、オートコンプリートのような結果が表示されます。以下は私のコードです

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(); が何かわかりません。および Constants.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 に答える