如何使用编辑文本实现快速搜索功能

时间:2010-10-15 09:25:25

标签: android

嗨,我是android.what的新手,我正在使用编辑文本实现搜索 把代码写成休耕。

((EditText)findViewById(R.id.EditText01)).setOnKeyListener(new OnKeyListener() {
                public boolean onKey(View v, int keyCode, KeyEvent event) {
                        if(event.getAction() == KeyEvent.ACTION_UP){

                String enteredText = ((EditText)findViewById(R.id.EditText01)).getText().toString();

                if(enteredText.length() > 0 ) {
                String str1 =""+ enteredText.charAt(0);

                str1 = str1.toUpperCase();
                String str2 =""+ enteredText.substring(1);
                str2 = str2.toLowerCase();
                enteredText = str1 + str2;

                }
                 id=0;
                 Iterator<String> strIt = strList.iterator();
                 Log.v("", "Total items in the list****"+strList);
                ((LinearLayout)findViewById(R.id.LinearLayout02)).removeAllViewsInLayout();
                if(strIt.next().startsWith(enteredText))
                {
                    Log.v("", "hi u r enterd letter is there in list");
                }
                else
                {
                    ((LinearLayout)findViewById(R.id.LinearLayout02)).removeAllViewsInLayout();
                    Toast.makeText(MyShoppingList.this, "There is no item In the List Start with Letter "+enteredText+" Click Add Item to Add New Item" ,06 ).show();
                    Log.v("", " u enterd letter is no there in list"+enteredText);
                    additem();

                }

                count = 0;
                while(strIt.hasNext()){
                    String str = strIt.next();

                    if(str.startsWith(enteredText)){

                        //count++;
                    matchingLetters(str);

                }


                }

                }

                        return false;       }

            });

它工作正常,但是当active.it doee中的设备键盘在激活键盘时实现,同时最小化键盘代码然后只运行时,我遇到问题。什么问题我无法理解请帮助我。发布一些代码或链接。谢谢你提前。

1 个答案:

答案 0 :(得分:1)

请注意: onKey()返回一个布尔值来指示您是否已经消耗了该事件,并且不应该进一步携带它。也就是说,返回true表示你已经处理了这个事件,它应该在这里停止;如果您没有处理它并且/或事件应继续到任何其他on-key侦听器,则返回false。 http://developer.android.com/reference/android/view/View.OnKeyListener.html#onKey(android.view.View,int,android.view.KeyEvent)

因此,在我看来,你必须回归真实&amp;然后将结果发回到StackOverflow。