在我的应用程序中,我试图检查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中的内容?
答案 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的更多信息