Android ListView 와 RecycleView 의 비교 사용 분석

ListView 는 이름 그대로 목록 을 표시 하 는 View 이 고 Recycle View 는 강화 판 입 니 다.오늘 가 져 온 것 은 이 두 가지 거의 같은 기능 을 가 진 비교 사용 입 니 다.
ListView 부터 얘 기해 볼 게 요.
ListView:
1.레이아웃 파일 에서 ListView 를 사용 하고 id 를 정의 합 니 다.나중에 호출 할 수 있 도록 너비 와 높이 는 부모 컨트롤 과 같 습 니 다.
2.데 이 터 를 준비 하여 Array Adapter 어댑터 에 데 이 터 를 추가 합 니 다.
3.Activity 의 자바 파일 에서 findviewbyid 를 사용 하여 ListView 인 스 턴 스 를 찾 아 Adapter 를 설정 합 니 다.
4.ListView 의 item 항목 클릭 이 벤트 를 실현 하고 Listview 가 정의 하 는 setitemonClick 방법 을 사용 하면 됩 니 다.
여기 서 가장 중요 한 단 계 는 두 번 째 단계 입 니 다.우 리 는 아래 의 코드 를 볼 수 있 고 String 형식의 배열 을 정의 한 다음 에 Array Adapter 어댑터 를 만 들 었 습 니 다.String 에 주의 하 십시오.일반적인 것 입 니 다.뒤의 구조 함수 의 매개 변 수 는 각각 문맥 android.R.Layout.simple 입 니 다.list_item 1 은 안 드 로 이 드 시스템 이 준 item 레이아웃 입 니 다.마지막 으로 String 배열,즉 데이터 입 니 다.그 다음 에 ListView 의 인 스 턴 스 를 찾 아 setAdapter 방법 으로 어댑터 를 설정 합 니 다.

 public class MainActivity extends AppCompatActivity {
    private String[] data = {"Apple" ,"Banana","Orange","WatermeLon"
        "Pear","Grape","Pineapple","Strawberry","Cherry","Mango",
        "Apple","Banana","Orange" ,"Watermelon" ,"Pear" ,"Grape",
        "Pineapple","Strawberry","Cherry","Mango"};
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity.main);
    ArrayAdapter<String> adapter = new ArrayAdapter<String(MainActivity.this, android.R.Layout.simple_list_item 1, data);
    ListView listView = (ListView) findViewById(R.id.list _view);
    listView.setAdapter(adapter);
  }
}
이것 은 간단 한 예 입 니 다.그러나 두 번 째 매개 변 수 는 안 드 로 이 드 가 제공 하 는 아 이 템 레이아웃 이라는 것 을 알 고 있 습 니 다.이 레이아웃 은 너무 간단 합 니 다.사용자 정의 레이아웃 을 실현 하려 면 어떻게 해 야 합 니까?Array Adapter 라 는 어댑터 를 개조 해 야 합 니 다.
다음은 레이아웃 을 사용자 정의 하고 사용 하 는 절차 입 니 다.
1.item 의 레이아웃,즉 사용자 정의 레이아웃 을 만 듭 니 다.

나 는 각각 절반 을 차지 하 는 textview 두 개 를 정 의 했 습 니 다.루트 라벨 의 높 은 사용 wrap 을 기억 합 니 다.content
2.어댑터 의 범 형 으로 T 클래스 를 정의 합 니 다.(이전 String 과 유사)구조 방법,구성원 변수 와 get 방법 이 필요 합 니 다.

경고 가 왜 있 는 지 모 르 겠 습 니 다.Public 를 사용 하면 정상적으로 사용 할 수 있 습 니 다.다른 것 으로 바 꾸 면 저쪽 호출 이 잘못 될 수 있 습 니 다.
3.어댑터 클래스 를 만 들 고 Array Adapter(T 는 두 번 째 정의 클래스)를 계승 하도록 합 니 다.구조 방법 이 필요 하고 getView 방법 도 복사 해 야 합 니 다.

4.데 이 터 를 준비 하고 세 번 째 어댑터 클래스 에 데 이 터 를 추가 한 다음 위 에서 말 한 절차 와 같이 Listview 의 인 스 턴 스 를 찾 아 어댑터 를 설정 합 니 다.

 효과.

 RecycleView:
이것 은 Android 팀 이 새로 출시 한 것 이기 때문에 의존 도 를 추가 해 야 사용 할 수 있 습 니 다.sync now 를 누 르 십시오.

사용 절차:
1.레이아웃 파일 에서 RecyclerView 를 사용 하여 id 를 정의 합 니 다.너비 와 공간 이 같 습 니 다.
2.RecyclerView 의 하위 항목 아 이 템 레이아웃 을 준비 한 후 어댑터 클래스 에서 사용 해 야 합 니 다.
3.이전에 ListView 에서 말 한 T 클래스,어댑터 의 범 형 을 정의 합 니 다.
3.어댑터 T 클래스 를 정의 하여 RecyclerView 를 계승 합 니 다.Adapter(ViewHolder 는 T 클래스 의 내부 클래스)는 데이터 원본 을 수신 하고 복사 하 는 세 가지 방법 이 필요 합 니 다.

RecyclerAdapter 는 RecyclerView 를 계승 하 는 것 입 니 다.Adapter
이 괄호 안에 있 는 것 은 원래 RecyclerView.ViewHolder 여야 하 는데,우 리 는 RecyclerAdapter 에서 내부 클래스 ViewHolder 를 정의 하여 RecyclerView.ViewHolder 를 계승 하 게 하 였 기 때문에 우 리 는 괄호 안에 내부 클래스 를 직접 호출 할 수 있 습 니 다.
뷰 홀더 라 는 내부 클래스 를 살 펴 보 겠 습 니 다.그 안에 두 개의 TextView 멤버 변수 가 있 습 니 다.그 다음 에 구조 방법 을 추가 합 니 다.매개 변 수 는 하나의 View 입 니 다.이 두 개의 textview 에 findviewby id 를 통 해 인 스 턴 스 를 찾 을 수 있 습 니 다.
RecycleAdapter 라 는 종 류 를 살 펴 보 겠 습 니 다.처음에 List 의 구성원 변수 students 를 설명 한 다음 에 구조 방법 을 추가 하여 LIst 에 전달 하여 RecycleAdapter 의 구성원 변수 students 에 게 할당 합 니 다.
그 다음 에 세 가지 방법 을 복사 해 야 합 니 다.OnCreate ViewHolder,onBindViewHolder,getItemCount.

onCreateViewHolder 방법 에 서 는 먼저 Layout Inflater.from()방법 으로 context 를 받 은 다음 에 inflate 를 통 해 item 레이아웃 을 전체 레이아웃 에 넣 은 다음 에 이 view 를 매개 변수 로 ViewHolder 에 전달 하 는 동시에 ViewHolder 로 되 돌려 줍 니 다.
onBindView Holder 방법 은 list 의 get 방법 으로 list 안의 한 대상 을 얻 은 다음 holder 에서 두 개의 TextView 의 setText 방법 으로 설정 합 니 다.하 나 를 보면 열 을 알 수 있 습 니 다.imageview 라면 setresource 로 표 시 된 그림 을 설정 할 수 있 습 니 다.설정 한 인 자 는 Student 류 의 get 방법 으로 직접 얻 을 수 있 습 니 다.
 getItemCount 는 모든 아 이 템 의 수량 을 얻 는 것 입 니 다.여기 아 이 템 의 수량 은 list 의 항목 입 니 다.바로 size 로 돌아 가면 됩 니 다.
4.데 이 터 를 준비 하여 어댑터 에 추가
5.레이아웃 관리자 LayoutManager 를 만 들 면 RecycleView 에서 레이아웃 을 설정 할 수 있 습 니 다.여기 레이아웃 관리자 에는 몇 가지 가 있 습 니 다.
LIstView 와 같은 수직 배열,LinearlayoutManager

우 리 는 또한 이 를 수평 배열 로 바 꿀 수 있 습 니 다.linearLayoutManger 의 setOrientation 을 호출 하여 LinearLayoutManager.HORIZONTAL 로 설정 할 수 있 습 니 다.

그리고 GiidLayout 격자 레이아웃 StaggerGild LayoutManager 폭포 흐름 레이아웃 도 있 습 니 다.사용 방법 은 위 와 같 지만 매개 변수 가 다 릅 니 다.더 알 고 싶 으 시 면 바 이 두 로 전환 하 십시오.
6.findviewbyid 방법 으로 RecycleView 의 인 스 턴 스 를 찾 아 LayoutManager 를 설정 하고 Adapter 를 설정 합 니 다.

 7.onClick 방법 을 설정 합 니 다.Recycle View 에는 onClick 방법 이 없습니다.우리 가 직접 써 야 합 니 다.어디 에 써 야 합 니까?Recycle Adapter 의 onBindView Holder 방법 에서

총결산
위 에서 말 한 것 은 편집장 님 께 서 소개 해 주신 안 드 로 이 드 ListView 와 Recycle View 의 비교 사용 해석 입 니 다.여러분 께 도움 이 되 셨 으 면 합 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주세요.편집장 님 께 서 바로 답 해 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기