1. 程式人生 > >ListView裡面有EditText,彈出鍵盤後EditView立刻不能獲取焦點的問題

ListView裡面有EditText,彈出鍵盤後EditView立刻不能獲取焦點的問題

遇到的問題是點選EditText,鍵盤彈出後,輸入游標會消失,需要再點選一次才能獲取游標,這個大概是因為listview不能很好的處理EditText作為item的情況,彈出鍵盤後應該view是重新生成的。

解決方案如下
//點選時記錄下現在點選的是哪個EditText,也就是在編輯哪一個EditText

viewHolderChild.name.setOnTouchListener(new OnTouchListener() {

                @Override
                public boolean onTouch(View v, MotionEvent event
) { if (event.getAction() == MotionEvent.ACTION_UP) { touchedPosition = position; } return false; } }); if (touchedPosition == position) { // 如果當前的行下標和點選事件中儲存的index一致,手動為EditText設定焦點。
viewHolderChild.name.requestFocus(); }else { viewHolderChild.name.clearFocus(); }