ListView와 RecyclerView 차이!

 

리스트 뷰(ListView)

 

(리스트 뷰 참고)

2020/09/17 - [대외 활동/CADI(개발A 보충스터디)] - 안드로이드(alertDialog,ListView,ArrayList&Arrayadapter) 공부하기!

 

안드로이드(alertDialog,ListView,ArrayList&Arrayadapter) 공부하기!

alertDialog -대화 상자를 말하는데 어떤 앱을 실행 시 경고 메세지나 특정한 정보를 알려주기 위한 다이얼로그를 말한다. handler를 이용해 특정한 시간이 지났을 때, 특정한 버튼을 눌렀을 때 구현��

dev-seungwon.tistory.com

 


1. 세로 방향으로 자식 뷰를 배치하여 보여줌
2. 공간이 부족하면 스크롤 가능
3. 화면을 터치하는 이벤트 처리 가능

 

 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list_view);

        final TextView  tv_select = (TextView)findViewById(R.id.tv_select);
         final ListView listView = (ListView)findViewById(R.id.listView);

         final List<String> list = new ArrayList<>();
        list.add("사과");
        list.add("배");
        list.add("딸기");
        list.add("감자");

        //adapter list관계
        ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1,list);
        listView.setAdapter(adapter);

 
    }

 

 

 

 

 

 


 

 

 

 

리사이클러 뷰(RecyclerView)

 

1. 한정된 수의 뷰를 유지함으로써 효율적인 스크롤 가능
2. 런타임에 요소가 변경되는 데이터가 있을경우 효과적으로 처리

3. Adpater,Viewholder,Layout관리자를 사용함

 

RecyclerView(Layoutmanager) -------> Adapter ---------->Dataset

 

 

주요 클래스

  • RecyclerView.Adpater : 데이터를 관리하고 뷰에 연결시키는 역할
  • RecyclerView.ViewHolder : 뷰를 담아두는 상자
  • LayoutManager : 뷰의 배치를 관리(Linear,Grid,StaggeredGrid)

 

class ViewHolder extends RecyclerView.ViewHolder{
// view.onClickListener 등록
}
public class Adapter extends RecyclerView.Adapter<ViewHolder>{

public ViewHolder onCreateViewHolder(){
// viewHolder를 만듬 
}

public void onBindViewHolder(){
 //생성된 viewHolder에 데이터를 Binding함
}

public int getItemCount(){
// 갯수 리턴
}


}

+ Recent posts