Android 사용자 정의 클래스 에서 사용자 정의 모니터 방식 구현

모니터 는 안 드 로 이 드 개발 에서 가장 많이 사용 되 는 것 중 하나 라 고 할 수 있다.우 리 는 감청 기 를 통 해 대상 의 각종 변화 사건 을 감청 하고 필요 한 처 리 를 할 수 있어 상당히 유용 하 며 사용 하기 도 간단 하 다.사실 감청 기 는 C++의 리 셋 함수 에 해당 하 며 조건 이 되면 리 셋 하여 집행 한다.
사용자 정의 컨트롤 클래스 에서 도 속성 변 화 를 위 한 모니터 가 필요 할 때 가 많 습 니 다.다음 절 차 는 사용자 정의 모니터 의 실현 과 사용 을 설명 합 니 다(사용자 정의 클래스 MyClass 로 딩 완료 모니터 를 예 로 들 면).
1.사용자 정의 모니터 의 실현:
1.로 딩 완료 감청 인터페이스 정의

//      
public static interface LoadingListener {
 public void onFinishedLoading(boolean success);
}
MyClass 사용자 정의 클래스 에서 로 딩 완료 감청 인터페이스 Loading Listener 를 정의 합 니 다.인터페이스 에 서 는 onFinished Loading 이 이 인 터 페 이 스 를 사용 하 는 클래스 에 구체 적 인 과정 을 수행 하 는 방법 을 설명 합 니 다.success 는 로 딩 성공 여 부 를 표시 합 니 다.
2.인 터 페 이 스 를 설명 하고 모니터 를 설정 하 는 방법
성명 LoadingListener 인터페이스
private LoadingListener mLoadingListener;
Loading Listener 설정 방법 제공

public void setLoadingListener(LoadingListener listener) {
 mLoadingListener = listener;
}
3.대응 하 는 상황 에서 이 인 터 페 이 스 를 호출 하 는 방법
MyClass 로 딩 이 완료 되 었 을 때 감청 인 터 페 이 스 를 호출 하 는 방법
mLoadingListener.onFinishedLoading(true);
2.사용자 정의 모니터 의 사용:
1.MyClass 의 인 스 턴 스 에 감청 인터페이스 에서 의 방법

mMyClass.setLoadingListener(new MyClass.LoadingListener() {
   @Override
   public void onFinishedLoading(boolean success) {
   //       
  }
}
onFinished Loading 함수 에서 사용자 정의 논 리 를 실현 하면 됩 니 다.
보충 지식:android Activity 가 Fragment 에 리 셋 하 는 방법
이 실현 방법 은 매우 간단 해서 3 단계 로 나 눌 수 있다.
1.fragment 에서 인 터 페 이 스 를 정의 합 니 다.
2.activity 정의 시 이 인터페이스 구현
3.fragment 의 onAttach 방법 에서 Context 를 해당 하 는 인터페이스 로 전환 합 니 다.
코드 는 다음 과 같 습 니 다:

public class AllFragment extends Fragment {

//......    
 

 @Override
 public void onAttach(Context context) {
  super.onAttach(context);
  mOnChangeTabListener = (OnChangeTabListener) context;
 }

 public interface OnChangeTabListener{
  void onChangeTab(String tag);
 }
}
activity 의 정의 에서 이 인 터 페 이 스 를 실현 합 니 다.다음 과 같 습 니 다.

public class SearchActivity extends AppCompactActivity implements AllFragment.OnChangeTabListener {

 //    
 @Override
 public void onChangeTab(String tag) {
  if ("  ".equals(tag)){
   mViewPager.setCurrentItem(1);
  }else {
   mViewPager.setCurrentItem(2);
  }
 }
}

이상 의 안 드 로 이 드 는 사용자 정의 클래스 에서 사용자 정의 감청 기 방식 을 실현 하 는 것 이 바로 작은 편집 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.참고 가 되 고 저희 도 많이 응원 해 주시 기 바 랍 니 다.

좋은 웹페이지 즐겨찾기