> Java > java지도 시간 > 조각과 해당 CursorAdapter 간의 통신을 설정하는 방법은 무엇입니까?

조각과 해당 CursorAdapter 간의 통신을 설정하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-11-12 22:10:02
원래의
1016명이 탐색했습니다.

How to Establish Communication Between a Fragment and its CursorAdapter?

프래그먼트와 어댑터 간의 인터페이스 생성

ListView와 사용자 정의 CursorAdapter가 포함된 프래그먼트를 처리할 때 둘 사이의 통신을 설정하는 것이 중요합니다. . 이를 달성하기 위해 인터페이스는 깔끔하고 효율적인 솔루션을 제공할 수 있습니다.

인터페이스 정의

어댑터 클래스에서 호출할 메서드를 정의하는 인터페이스를 정의합니다. 버튼이 눌려졌습니다. 예:

public interface AdapterInterface {
    public void buttonPressed();
}
로그인 후 복사

어댑터 구현

인터페이스의 인스턴스 변수를 초기화하는 어댑터에 생성자를 추가합니다.

public MyListAdapter(Context context, Cursor c, int flags, AdapterInterface buttonListener) {
    super(context, c, flags);
    this.buttonListener = buttonListener;
}
로그인 후 복사

BindView() 메서드에서 버튼을 클릭하면 인터페이스에서 ButtonPressed() 메서드를 호출합니다.

@Override
public void bindView(...) {
    ...
    holder.button.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            buttonListener.buttonPressed();
        }
    });
}
로그인 후 복사

Fragment Implement

AdapterInterface를 구현합니다. 프래그먼트 클래스를 삭제하고 ButtonPressed() 메서드를 재정의합니다.

public class MyListFragment extends Fragment implements AdapterInterface {

    @Override
    public void buttonPressed() {
        // Custom action to be performed
    }
}
로그인 후 복사

초기화

어댑터를 생성할 때 프래그먼트를 생성자에 인수로 전달합니다.

MyListAdapter adapter = new MyListAdapter(getActivity(), myCursor, myFlags, this);
로그인 후 복사

참고

  • 존재하지 않는 개체를 참조하지 않도록 조각을 다시 만들 때 어댑터도 다시 만들어야 합니다.
  • 이 접근 방식은 다음을 제공합니다. 어댑터와 프래그먼트 간의 통신을 처리하는 깔끔하고 체계적인 방법입니다.

위 내용은 조각과 해당 CursorAdapter 간의 통신을 설정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿