可能的重复:
public boolean onKey() 调用了两次?
我有一个 EditText 字段,它调用带有单选按钮的弹出视图。 PopUp 和 RadioGroup 实现效果很好。但我只是意识到当按下或触摸 EditText 时, onTouchListener 被调用 2 次。我也才意识到我的原因上一个问题是同样的问题。
这是EditText;
etOdemeSekli = (EditText)findViewById(R.id.etOdemeSekli);
etOdemeSekli.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
inflatePopUpOdemeSekli();
Log.d("****","Inflate");
return false;
}
});
这是 EditText 的 xml
<EditText
android:layout_weight="1"
android:id="@+id/etOdemeSekli"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="@string/odemeSekliHint"
android:focusableInTouchMode="false">
</EditText>
由于这种双重调用,弹出窗口表现得很奇怪。 miss() 调用无法正常运行。可能是什么原因?真的很烦人,谢谢。
两次调用是因为触摸侦听器触发两次(至少!),一次是当手指落在 EditText 上时(ACTION_DOWN),一次是当您抬起手指时(ACTION_UP)。要解决此问题,只需确保仅在一种情况下激活即可。或者,您可以设置一个onClick
代替听众。
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
inflatePopUpOdemeSekli();
}
return false;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)