user2776223
user2776223

Reputation:

hanging issue in Search in Edit text through List View

i have developed an application that contain one List view and one Edit Text for searching functionality in list view its work but my problem is i have about 4000 item in list view so when I am type in Edit Text its load with hang because i have lots of data so i want to implement like when m press enter key of key board then its search that specific word

my code of activity

 list = (ListView) findViewById(R.id.listview);

    list.setAdapter(adapter);
    list.requestFocus();
    editsearch = (EditText) findViewById(R.id.search);
    editsearch.setSingleLine(true);

    editsearch.addTextChangedListener(new TextWatcher() {

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

        }


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

        }

        @Override
        public void afterTextChanged(Editable s) {

            String text = editsearch.getText().toString()
                    .toLowerCase(Locale.getDefault());
            adapter.filterstd(text);
        }
    });

Upvotes: 1

Views: 250

Answers (1)

Sagar Maiyad
Sagar Maiyad

Reputation: 12733

editsearch.setOnKeyListener(new OnKeyListener()
{
    public boolean onKey(View v, int keyCode, KeyEvent event)
    {
        if (event.getAction() == KeyEvent.ACTION_DOWN)
        {
            switch (keyCode)
            {
                case KeyEvent.KEYCODE_DPAD_CENTER:
                case KeyEvent.KEYCODE_ENTER:
                    String text = editsearch.getText().toString()
                    .toLowerCase(Locale.getDefault());
                    adapter.filterstd(text);
                    return true;
                default:
                    break;
            }
        }
        return false;
    }
});

Upvotes: 1

Related Questions