문제

Android 응용 프로그램을 개발 중입니다. 링크에 설명 된대로 탭이있는보기 호출기를 구현했습니다. FragmentStatepagerAdapter와 함께 활동의 OnCreate 메서드에서 actionBar에 탭을 추가합니다.

내 oncreateview 이벤트에서 내 자유를 사용하여 EditText보기가 포함 된 레이아웃을 팽창 시키므로 각 생성 된 탭에는 사용자가 데이터를 입력 할 수있는 자체 EditText가 있습니다.

현재 사용자가 각 EditText 컨트롤에서 쓰는 입력으로 완전히 채워진 한 번씩 각 텍스트 상자의 내용을 로컬로 저장해야합니다. 예를 들어, 사용자가 데이터 입력, 탭을 변경하거나 컨트롤을 unfocus로 가져 오는 것을 알 수 있습니다.

시나리오 1 : 나는 조각의 내 onCreateView 이벤트에서 EditText 컨트롤에 TextWatcher를 첨부하려고 시도했지만, 편지가 내 컨트롤에 삽입 될 때마다 전화를 걸지 않아서 필요하지 않기 때문에 저에게는 작동하지 않았습니다. 그래서 나는 그 옵션을 폐기했습니다.

시나리오 2 : Fragment의 OnCreateView 이벤트에서 EditText 컨트롤에 OnEditoRactionListener를 첨부하려고했지만 링크 설명

시나리오 3 : Tablistener의 OnTabunSelected 이벤트를 처리 할 생각이 있었지만 이전 EditText 제어 값에 액세스하는 방법을 모르겠습니다. 게다가, 그것은 사용자가 헤더를 눌러 탭을 선택하지만 스 와이프 이벤트에는 탭을 선택할 때만 작동합니다. 이 경우 뷰펜에 SimpleOnPageChangeListener를 viewpager에 반드시하지만, 그 문맥에서 이전 탭이 무엇인지 알 수 없으며 EditText 컨트롤에 액세스 할 수 없습니다.

무엇을 할 수 있습니까? 고맙습니다!

도움이 되었습니까?

해결책

EditText가 초점을 잃으면 EditText에 FocusChangedListener를 추가해야합니다.

OnFocusChangeListener focus = new OnFocusChangeListener() {

@Override
public void onFocusChange(View v, boolean hasFocus) {
    // TODO Auto-generated method stub

   }
};
.

텍스트 편집이 초점을 잃을 때마다 모든 데이터를 보유하고있는 싱글 톤 클래스에 데이터를 추가하면 모든 텍스트의 모든 데이터를 보유하고있는

을 선택하십시오.

모든 조각 탭에서 값 가져 오기

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top