我有2个带有2个onTouchListener的AutoCompleteTextView,问题是,当我第一次进入活动时,触摸侦听器在触摸我活动中的内容之前触发了..
有谁知道原因?有没有解决方案在我第一次参加活动时没有触发它?
修改
我对微调器上的OnItemSelectedListener有同样的问题,我该怎么办? 这是我的倾听者:
country.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
filter();
}
});
提前致谢
答案 0 :(得分:1)
您确定要过滤下面的触摸事件吗?
image.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
if (action == MotionEvent.ACTION_DOWN){
}else if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_CANCEL){
}
return true;
}
});
也请参阅this链接。
编辑:放置一个日志,并在自动触发onItemClickListener时检查int位置的值是什么。我建议你将微调器的0位置保持为空,并检查位置是否为零然后忽略,否则执行过滤器。
country.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if(position == 0)
{
//do nothing
}
else
{
filter();
}
}
});