为什么EditText的点击事件需要点击两次才能触发
1个回答
展开全部
我的是edittext 如果设置android:focusableInTouchMode="false" 好像无法触发onClick事件 并且edittext光标不闪烁 交互体验不好
既然第一次是获取焦点 那么我的解决办法就是为edittext注册OnFocusChangeListener,在onFocusChange方法内判断hasFocus
如果为true就进行本该onClick做的事
Java code
mEditTextContent.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
edittext_layout.setBackgroundResource(R.drawable.input_bar_bg_active);
more.setVisibility(View.GONE);
iv_emoticons_normal.setVisibility(View.VISIBLE);
iv_emoticons_checked.setVisibility(View.INVISIBLE);
emojiIconContainer.setVisibility(View.GONE);
btnContainer.setVisibility(View.GONE);
editClick(v);
} else {
edittext_layout.setBackgroundResource(R.drawable.input_bar_bg_normal);
}
}
});
既然第一次是获取焦点 那么我的解决办法就是为edittext注册OnFocusChangeListener,在onFocusChange方法内判断hasFocus
如果为true就进行本该onClick做的事
Java code
mEditTextContent.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
edittext_layout.setBackgroundResource(R.drawable.input_bar_bg_active);
more.setVisibility(View.GONE);
iv_emoticons_normal.setVisibility(View.VISIBLE);
iv_emoticons_checked.setVisibility(View.INVISIBLE);
emojiIconContainer.setVisibility(View.GONE);
btnContainer.setVisibility(View.GONE);
editClick(v);
} else {
edittext_layout.setBackgroundResource(R.drawable.input_bar_bg_normal);
}
}
});
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询