如何解决如果输入的值错误,如何为AutoCompleteText视图设置焦点
||setOnFocusChangeListener(new OnFocusChangeListener()
{
@Override
public void onFocusChange(View v,boolean hasFocus)
{
// TODO Auto-generated method stub
if (currentfocus==false)
{
if (!v.hasFocus())
{
currentfocus=true;
v.requestFocus();
return;
}
}
if(currentfocus==true)
{
if(v.hasFocus())
{
v.clearFocus();
}
}
}
});
解决方法
您的代码会怎样?
更改焦点时,您要求视图请求焦点(如果没有焦点),并要求视图清除焦点(如果焦点没有焦点)。
如果这些请求是异步的,那么当焦点再次从您的视图移到其他视图时,onFocusChange将不断被调用。
如果按照给定的要求处理请求,则将无限循环,并可能导致堆栈溢出。
, 在请求任何小部件的焦点时,随身携带小部件的ID。您既需要保留焦点的ID小部件,也需要逐渐获得焦点的小部件。然后适当地使用onFocusChangeListener。
请记住,在更改焦点侦听器上,两次调用了两个小部件,一个是失去焦点的小部件,另一个是获得焦点的小部件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。