2011-01-30 12 views
0

일부 정적 텍스트와 편집 가능한 EditText가 포함 된 맞춤 행을 바인딩하는 맞춤 배열 어댑터를 만들었습니다. 나는 사용자가 편집 텍스트 내에서 텍스트를 변경하고 수정 된 EditText가 어느 ArrayList 행에 해당하는지 결정할 때 알림을 받도록 등록하려고합니다.ListView 내의 Android EditText

Spinner와 같은 다른 유형의보기에서는 이전에 Spinner보기의 태그에 부모보기 및 행 번호에 대한 참조를 넣을 수있었습니다. 그런 다음 값이 변경되었다는 알림을 받으면 태그를 읽어 마스터 ArrayList와 다시 연관시키는 방법을 결정했습니다.

EditText 변경 사항에 대한 알림을 등록하는 문제는 뷰를 다시 가져 오지 않고 대신 TextWatcher를 가져오고 상위 뷰 또는 ArrayList 행에 다시 연결할 수있는 방법이 없다는 것입니다.

이 상황에서 사용해야 할 기술은 무엇입니까? 당신은 당신의 ArrayAdapterEditTextonEditorAction을 사용할 수 있습니다

답변

1

:이 방법을 사용하면 이벤트를 트리거하려고하는 것을

mEditText.setOnEditorActionListener(new OnEditorActionListener() { 
    @Override 
    public boolean onEditorAction(TextView view, int actionId, KeyEvent event) { 
     // Parse parent tree to find position of view 
     int position = 0; 
     View v = null; 
     while (view != v && position < mListView.getChildCount()) 
      v = mListView.getChildAt(position++); 
     // do something 
     something(position); 
     // do not consume the action 
     return false; 
} 
}); 

참고 경우에만, "입력"사용자 "OK"를 누릅니다 "완료" , 등.