EditText和PopupWindow的事件衝突

因爲在工程中想要實現賬號聯想的功能(即:如果有登陸記錄的賬號,可以在退出登錄以後再次輸入時直接進行聯想而不需要客戶手動輸入賬號的全部內容)。
在最初的想法是,點擊edittext然後在其下方彈出一個popupwindow,數據來源是在登陸成功後SharedPrefrence所存儲的String轉換成的數組。
效果是先後發現出現了事件衝突。
衝突如下:
在點擊edittext彈出popupwindow後,edittext無法接續編輯
解決方法有以下幾種:
①使用android4.0特性中AutoCompleteTextView
     自動完成文本框
     
final AutoCompleteTextView mobile = (AutoCompleteTextViewfindViewById(R.id.mobile_text);
final EditText password = (EditTextfindViewById(R.id.password_text);
String account_caches = SpUtils.getInstance(LoginActivity.this).getString("account_caches""");
if (account_caches != null && !account_caches.equals("")) {

    String[] account = account_caches.split(",");
    mobile.setAdapter(new ArrayAdapter<String>(this,R.layout.support_simple_spinner_dropdown_item, account));


這有一篇比較詳細的參考文章,如果我上面寫的不夠明白的話可以去看看這篇介紹。
http://blog.csdn.net/ls1110924/article/details/22905367

 

一是萬萬不可給popupwindow設置得到焦點,即setFocusable(true),不然他會搶佔EditText的焦點,使得EditText得不到輸入,


二是不能給popupwindow中的listView綁定OnItemClickListener監聽器,此時點擊是有選中的效果,即背景色發生了切換,但是監聽器的方法沒有觸發。


③也可以在佈局中放一個listview,來控制他的顯示(想法)
http://blog.csdn.net/ls1110924/article/details/22905367
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章