다른보기에 대해 공통 어댑터를 쓸 수 있습니까? 나는 recyclerView
과 spinner
에 대한 공통의 어댑터에 관심이있다. 내 프로젝트에서 나는 RecyclerView
과 Spinner가 있고 기본 generic 어댑터를 쓰고 싶다. (RecyclerView
과 Spinner
) 도와 주시겠습니까?회 전자 및 리사이클 뷰에 대한 일반 어댑터
2
A
답변
6
예, 당신이, 당신은 동일한 어댑터를 사용하는 것이 훨씬 더를 그 일에 대한 기본 개념을 genirify 수있다 ListView
/Spinner
및 RecyclerView
public static class CommonAdapter extends RecyclerView.Adapter<CommonAdapter.RecycleViewHolder>
implements ListAdapter {
private Context mContext;
private List<String> data;
public CommonAdapter(Context context, List<String> data) {
mContext = context;
this.data = data;
}
// Start of recycleview adapter
@Override
public RecycleViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
return new RecycleViewHolder(new TextView(mContext));
}
@Override
public void onBindViewHolder(RecycleViewHolder holder, int position) {
holder.textView.setText(data.get(position));
}
@Override
public int getItemCount() {
return getCount();
}
public static class RecycleViewHolder extends RecyclerView.ViewHolder {
public TextView textView;
public RecycleViewHolder(View itemView) {
super(itemView);
textView = (TextView) itemView;
}
}
// Implementation of list adapter(Spinner/ListView)
@Override
public boolean areAllItemsEnabled() {
return true;
}
@Override
public boolean isEnabled(int position) {
return true;
}
@Override
public void registerDataSetObserver(DataSetObserver observer) {
}
@Override
public void unregisterDataSetObserver(DataSetObserver observer) {
}
@Override
public int getCount() {
return data.size();
}
@Override
public String getItem(int position) {
return data.get(position);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
SpinnerViewHolder holder;
if (convertView == null) {
convertView = new TextView(mContext);
holder = new SpinnerViewHolder();
holder.textView = (TextView) convertView;
convertView.setTag(holder);
} else {
holder = (SpinnerViewHolder) convertView.getTag();
}
holder.textView.setText(getItem(position));
return convertView;
}
@Override
public int getViewTypeCount() {
return 0;
}
@Override
public boolean isEmpty() {
return false;
}
public static class SpinnerViewHolder {
public TextView textView;
}
}
위한 공통 어댑터를 구현할 수있는 모든 다른 ListView
/RecyclerView
과 다른 데이터 유형도 있습니다. 하지만 지금부터는 결합 된 어댑터에 대한 기본 아이디어를 제공하고 있습니다.
어댑터는 RecyclerView
에서 요구하는 RecyclerView.ViewHolder
을 확장하고 나는 ListView
/Spinner
에 필요한 ListAdapter
에 동일한 클래스를 구현하고있다.
관련 문제
- 1. 회 전자 어댑터 및 Listview 어댑터
- 2. 응답 JSON을 어댑터 회 전자
- 3. Xamarin 안드로이드 회 전자 어댑터 이상한 버그
- 4. 목록보기 사용자 정의 행 레이아웃 및 어댑터 안에있는 회 전자
- 5. 회 전자/줄임표/너비
- 6. 프로그래밍 방식으로 안드로이드 회 전자 및 배열 어댑터
- 7. 회 전자 및 포커스
- 8. 회 전자 및 값
- 9. 브라우저의 일반 회 전자/메시지 처리
- 10. 회 전자 : 닫기 회 전자 이벤트 수신
- 11. 회 전자 인터페이스에 대한 질문
- 12. Android 회 전자 및 버튼
- 13. android : 회 전자 용 조건부 어레이 어댑터 무시
- 14. 여러 회 전자 및 onItemSelected
- 15. 동적 회 전자 및 sharedpreferences
- 16. wrap_content 및 max_width가있는 회 전자
- 17. 회 전자 위치 및 sharedpreferences
- 18. 안드로이드 회 전자 및 editText
- 19. 맞춤화 된 회 전자
- 20. 내 listItem의 리사이클 뷰에 이상한 렌더링
- 21. 회 전자
- 22. android 회 전자 크기가 자동으로 변경 되었습니까? 어댑터 세트 전에
- 23. 회 전자 항목의 크기와 회 전자 보관함의 높이를 변경하려면 어떻게해야합니까?
- 24. Android 회 전자 레이아웃
- 25. 회 전자 어댑터가 작동하지 않습니다.
- 26. rxJava sqlite에서 데이터를 가져 와서 리사이클 뷰에 표시하는 방법
- 27. Android 기기, 이러한 내 회 전자 및 편집 텍스트 모양을있는 내 텍스트 편집 및 회 전자
- 28. 회 전자 문제, Android
- 29. 회 전자 텍스트 색상
- 30. 맞춤 회 전자 팝업
대단한! 고맙습니다 – Sky