OPEN between Secret

RecyclerView 적용하기 본문

T.N.V/응용1

RecyclerView 적용하기

해가꿈꾸는달 2018. 3. 27. 22:15
반응형

난 프래그먼트로 만들었기 때문에 일반 Activity 와는 다르게 적용.

//recyclerView 선언 및 recyclerAdapter 선언
private RecyclerView recyclerView = null;
private RecyclerAdapter recyclerAdapter = null;


onCreateView에 다음을 작성

//리싸이클러뷰를 붙일 곳을 찾음.
recyclerAdapter = new RecyclerAdapter(this.getContext());

recyclerView = rootView.findViewById(R.id.frg_info_recyclerView);
recyclerView.setLayoutManager(new LinearLayoutManager(this.getContext()));
recyclerView.setHasFixedSize(true);
recyclerView.setAdapter(recyclerAdapter);


참고 한 블로그들은 다 새 class를 만들어서 하지만 난 내부 class를 이용하여서 작성.

//커스텀 뷰 홀더
//Item layout에 존재하는 위젯들을 바인딩. 바인딩?
class ViewHolder extends RecyclerView.ViewHolder{
TextView stockCode;
TextView companyName;
LinearLayout recyclerview_linear;

public ViewHolder(View itemView) {
super(itemView);
stockCode = itemView.findViewById(R.id.recyclerview_stockCode);
companyName = itemView.findViewById(R.id.recyclerview_stockName);
recyclerview_linear = itemView.findViewById(R.id.recyclerview_linear);
}
}

public class RecyclerAdapter extends RecyclerView.Adapter<ViewHolder>{

private Context context;

public RecyclerAdapter(Context context){
this.context = context;
}

//새로운 뷰 홀더 생성
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
return new ViewHolder(LayoutInflater.from(context).inflate(R.layout.fragment_information_recyclerview_item, parent,false));
}

// View의 내용을 해당 포지션의 데이터로 바꿈
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
final int positionTmp = position;
holder.stockCode.setText(item.getStockList().get(position).getStockCode());
holder.companyName.setText(item.getStockList().get(position).getCompanyName());

//recyclerView에서 item을 클릭했을때 처리.
holder.recyclerview_linear.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

}
});
}

//데이터의 사이즈를 리턴
@Override
public int getItemCount() {
return item.getStockList().size();
}
}



참고 1 : http://androidyongyong.tistory.com/5                   (source)

참고 2 : http://liveonthekeyboard.tistory.com/135               (source)

참고 3: https://blog.naver.com/sgepyh2916/221159150404   (source)

참고 4: http://itmining.tistory.com/12                               (얘는 개념 공부)

반응형