소개:
조각과 사용자 정의 커서 어댑터 간에 통신 채널을 생성하면 원활한 데이터 교환이 촉진될 수 있습니다. 그리고 이들 사이의 이벤트 처리
문제:
조각에 커서 어댑터와 연결된 ListView가 포함되어 있습니다. 어댑터에는 onClick 리스너가 있는 각 목록 행의 버튼이 있습니다. 목표는 이 버튼을 눌렀을 때 프래그먼트에 알리는 것입니다.
해결책:
어댑터에서 인터페이스 정의:
조각에 인터페이스 구현:
조각을 어댑터에 인수로 전달:
어댑터의 OnClickListener에서 인터페이스 호출:
예 코드:
public class MyListAdapter extends CursorAdapter { public interface AdapterInterface { public void buttonPressed(); } private AdapterInterface buttonListener; public MyListAdapter (Context context, Cursor c, int flags, AdapterInterface buttonListener) { super(context,c,flags); this.buttonListener = buttonListener; } @Override public void bindView(final View view, final Context context, final Cursor cursor) { ViewHolder holder = (ViewHolder) view.getTag(); ... holder.button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { buttonListener.buttonPressed(); } }); } } public MyListFragment extends Fragment implements AdapterInterface { @Override public void buttonPressed() { // some action } }
사용:
어댑터의 인스턴스를 생성하고 조각을 전달합니다. 로서 인수:
MyListAdapter adapter = new MyListAdapter (getActivity(), myCursor, myFlags, this);
방향 변경에 대한 주의:
위 내용은 조각과 사용자 정의 커서 어댑터 간의 통신을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!