我想應付一個(似乎是)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
嘗試修改 –