2015-01-05 3 views
0

이상한 문제가 있습니다. 내가 한 것은 TextViews 및 EditText 필드가있는 사용자 지정 ListView 어댑터를 만드는 것입니다. 버튼을 누르면 앱에서 EditText 필드 값을 가져와 장치의 SD 카드에 저장합니다.Android EditText 필드는 에뮬레이터에서는 정상적으로 작동하지만 기기에서는 작동하지 않습니다.

내 응용 프로그램이 에뮬레이터에서 완벽하게 작동하지만 EditText 필드가 장치에서 테스트 할 때 EditText 필드의 선택을 계속 취소하는 문제가 있습니다. 즉, EditText 필드를 클릭하면 키보드와 커서가 팝업되지만 나중에 커서가 사라지면 텍스트를 입력 할 수 없게됩니다.

내 사용자 정의 어댑터 코드 :

@Override 
public View getView(int i, View view, ViewGroup viewGroup) 
{ 
    if (view == null) 
    { 
     LayoutInflater inflater = LayoutInflater.from(viewGroup.getContext()); 
     view = inflater.inflate(R.layout.list_item_task_detail, viewGroup, false); 
    } 

    final TaskDetailModel taskDetailModel = listArray.get(i); 

    TextView textView = (TextView)view.findViewById(R.id.list_item_task_detail_text_view); 
    textView.setText(taskDetailModel.getTaskName()); 

    EditText editText = (EditText)view.findViewById(R.id.list_item_task_detail_edit_text); 

    return view; 
} 

글고 레이아웃 항목 :

<EditText 
    android:id="@+id/list_item_task_detail_edit_text" 
    android:layout_height="wrap_content" 
    android:layout_width="match_parent"/> 

편집 = 사실 나는 글고 필드에 추가 할 필요가 어떤 종류가 있습니까? 나는 내가 찾을 수없는 어딘가에서 실수를 저지르고 있다고 생각한다. 나는 또한 애플 리케이션이 에뮬레이터에서 작동하는 이유와 실제 폰이 아닌 이유를 이해하지 못한다.

은 BTW 에뮬레이터 내 전화는 동일한 SDK 버전, API 레벨 19 (전 4.4.x) 나는 내 자신의 문제를 해결하기 위해 관리 생각

답변

0

...

내가 할 필요가 모든 있었다를 사용 줄을 추가하려면

editText.requestFocus() 

을 내 어댑터에 추가하십시오.

일부 이상한 이유로 requestFocus()가 설정되지 않은 경우 단추의 클릭 수신기가 EditText 필드의 포커스 요청을 무시한다고 생각합니다. 그래도 왜 이것이 에뮬레이터에서 문제가 아니 었는지 모르겠다.

관련 문제