我有三個Edittext字段ed1,ed2,ed3。當用戶點擊ed2/ed3時,我已打開對話框並從該對話框中獲取輸入。對於第一次單擊光標來到edittext框並只需點擊下一次,我就可以打開對話框以獲取輸入。我需要顯示第一次點擊的對話框。Edittext點擊事件焦點
回答
設置的EditText來unFocusable。這樣,第一次觸摸就會註冊爲點擊。
在XML中添加問題的EditText上(S):
android:focusableInTouchMode="false"
這就是EditText的行爲方式。他們必須首先關注觸發onClick
事件。
編輯: 像巴拉克指出的,你可以禁用「可聚焦性」,你可以使它打開一下鼠標。缺點是你無法在EditText上鍵入(這可能對你的用例很好)。
你爲什麼不使用按鈕,而不是..但其設置爲默認的EditText背景..
爲了保持EditText
鍵式,你可以做一個小竅門。
如果只需要在第一次打開Dialog
然後使用EditText
通常你可以這樣做:
public class EditTextActivity extends Activity {
EditText et1;
int clickCount = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
et1 = (EditText) findViewById(R.id.main_et1);
et1.setFocusableInTouchMode(false);
setOnClickListeners();
private void setOnClickListeners(){
location.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (clickCount == 0){
OpenDialog(); //Call the function to open the dialog created by you
et1.setFocusableInTouchMode(true);
}
clickCount = 1;
}
});
}
首先你必須閱讀和理解問題... – 2012-07-30 10:00:29
我把這個答案根據這個問題的發展。 @Barak說定義'android:focusableInTouchMode =「false」',這是正確的,但是@dmon說:「缺點是你不能在EditText上輸入」。 我把這個解決了這個問題。 – 2012-07-30 11:53:02
- 1. 點擊外部edittext以失去焦點
- 2. jquery.mobile「點擊」發射「焦點」事件
- 3. 點擊預防焦點事件
- 4. listView獲取焦點和點擊事件
- 5. Android EditText焦點
- 6. EditText框焦點
- 7. 聚焦點擊事件後組合點火事件
- 8. Angular.js中焦點事件的單獨點擊事件
- 9. EditText上的DatePickerDialog點擊事件
- 10. EditText焦點丟失
- 11. EditText焦點問題
- 12. EditText焦點問題
- 13. JCalendar焦點事件
- 14. iPad焦點事件
- 15. QLineEdit焦點事件
- 16. QLineEdit - 焦點事件
- 17. jQuery觸發點擊焦點,但不是如果點擊焦點
- 18. 單擊焦點部件時的聚焦事件
- 19. 在軟鍵盤上獲取edittext焦點點擊下一步
- 20. android EditText,刪除焦點時,點擊另一個對象
- 21. 從按鈕點擊EditText清除焦點 - Android
- 22. 在點擊按鈕時保持EditText焦點
- 23. Android Edittext可繪製點擊卡住的焦點
- 24. EditText失去重點點擊
- 25. Android EditText丟失焦點TabChange
- 26. Android EditText焦點問題
- 27. 改變EditText焦點邊框
- 28. EditText在android的焦點
- 29. 在ListView中的EditText焦點
- 30. 使EditText失去焦點
事實並非如此......用'機器人:focusableInTouchMode =「假」'在XML和第一次觸摸EditText將註冊爲點擊。 – Barak 2012-04-20 14:33:40
正確,但不會使它不可鍵入? – dmon 2012-04-20 15:06:32
是的,但是如果你點擊它就像一個按鈕,我不認爲你希望它是可鍵入的。 :)我用它在表單中輸入日期和時間,當我希望用戶點擊EditText並彈出一個選擇器對話框,並將選擇器的結果放入EditText中時。基本上我是這樣做的,以維持其他輸入的「外觀」,但強制輸入是正確的格式/格式(這聽起來像是OP所要做的)。 – Barak 2012-04-20 15:20:34