我想应付一个(似乎是)smalll的事情。在我的应用程序中,我有两个EditText
字段的活动。Android EditText字段像按钮
我希望其中一个是normall字段(etNormal),另一个(etButton)的行为更像按钮,所以当你触摸它时,键盘未显示,而是打开滑动抽屉。如果滑动抽屉被打开,您将按下正常的edittext滑动抽屉会隐藏。
我已经尝试了加入OnClickListener
和OnTouchListener
(不是在相同的尝试中)两个条件如果etButton被点击/触摸打开滑动抽屉,如果没有然后关闭。
结果很奇怪。当它是OnTouchListener测试它更像是切换,所以当我按下一个抽屉打开和另一个关闭。当谈到OnClickListener时,我需要按两次edtitext才能完成操作。
要隐藏etButton中的keybord,我正在使用setInputType(InputType.TYPE_NULL);
。我也尝试setEnabled(false);
,但我甚至无法点击/触摸它。目前使用的方法的一个缺陷是当我改变从etNormal到etButton的点击时,键盘仍然显示并且不隐藏。
那么,谁能告诉我我能做些什么来实现我的目标?
编辑:
我ERAD当前的建议和修改一点点我的代码,但它仍然是行不通的。
这是它的一部分我在哪里分配OnTouchListener:
OnTouchListener touchListener = new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent ev) {
if(v==etButton && ev.getAction()==MotionEvent.ACTION_DOWN) {
slidingDrawer.animateOpen();
}else {
slidingDrawer.animateClose();
}
return false;
}
};
etNormal1.setOnTouchListener(touchListener);
etNormal2.setOnTouchListener(touchListener);
etButton.setOnTouchListener(touchListener);
在XML布局文件etButton声明
我也有:
android:focusable="false"
但现在,在etButton不接触任何东西hapens(只有在打开时滑动抽屉才会隐藏),并且当触摸etNormal1或2时,滑动抽屉出现或隐藏取决于第一个(换句话说,就是toggel)。
任何想法,这里有什么错?
感谢您的第一建议,但它仍然是行不通的。我已经按照你的要求添加了代码。 – sebap123
尝试修改 –