在EditText中键入内容

时间:2013-11-10 02:47:09

标签: java android

在我的应用程序中,我试图检查ArrayList是否包含每次有人输入时在EditText中键入的内容。 这是我尝试的地方:

 public boolean onKey(View view, int i, KeyEvent keyEvent) {
        switch (view.getId()){
            case R.id.etssid:
            if(wifiSSID.contains(etSSID.getText())){
                etPASS.setText(wifiSSID.indexOf(etSSID.getText()));
        }

        }
        return false;
    }

问题是它永远不会进入if。如果我删除它是否有效:

 switch (view.getId()){
            case R.id.etssid:
            etPASS.setText("It Works"); 
        }

现在我已经愚弄了.contains。我在我的班级顶部创建了一个ArrayList并添加了一个元素。没有干扰,也没有用。每当有人输入一个字母时,我该怎么做才能检查文本是否等于arraylist中的内容?

2 个答案:

答案 0 :(得分:1)

我认为包含在这里不起作用。

相反,你必须使用wifiSSID.contentequals或wifiSSID.equals

你可能还需要在if循环条件下更改它 etSSID.getText()。tostring()

答案 1 :(得分:0)

使用textwacher方法

editext.addTextChangedListener(new TextWatcher(){

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

                }

                public void onTextChanged(CharSequence s, int start, int before, int count)
                {
                   // Dome something here
                   if(wifiSSID.contains(etSSID.getText())){
                   etPASS.setText(wifiSSID.indexOf(etSSID.getText()));

                }

                public void afterTextChanged(Editable s)
                {

                }
        });

每次按任意键时,此textwatcher方法都会运行。,。,每次调用ontextchanged方法,您可以检查其中的任何条件。查看教程以获得有关textwatcher的更多信息