이번에는 저번 포스팅에 이어서 하겠습니다.
메인에 만든 RecyclerView안에 RecyclerView를 보여주겠습니다.
- 설명 -
메인에 보여지는 RecyclerView안에 보일 화면입니다.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:orientation="vertical">
<androidx.cardview.widget.CardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:cardCornerRadius="15dp"
app:cardElevation="15dp">
<LinearLayout
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@android:color/holo_orange_light"
android:orientation="vertical">
<TextView
android:id="@+id/dayText"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="Day"
android:textColor="@android:color/white"
android:textSize="20sp"
android:textStyle="bold" />
</LinearLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>
2022.01.01 - [안드로이드] - [안드로이드 스튜디오] 레이아웃 추가하는 방법
[안드로이드 스튜디오] 레이아웃 추가하는 방법
이번 시간에는 안드로이드 스튜디오에서 레이아웃 추가하는 방법을 알아보겠습니다. 안드로이드 프로젝트를 만들면 java폴더에는 MainActivity 파일이 있고, res -> layout 폴더에는 activity_main.xml 파일
aries574.tistory.com
- 설명 -
부모 어뎁터에서 넘긴 데이터와 자식 아이템 화면을 이어주는 클래스입니다.
public class ChildAdapter extends RecyclerView.Adapter<ChildAdapter.MyViewHolder> {
ArrayList<String> childArrayList;
public ChildAdapter(ArrayList<String> childArrayList) {
this.childArrayList = childArrayList;
}
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
View view = inflater.inflate(R.layout.child_row_layout, parent, false);
return new MyViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
holder.dayText.setText(childArrayList.get(position));
}
@Override
public int getItemCount() {
return childArrayList.size();
}
public class MyViewHolder extends RecyclerView.ViewHolder{
TextView dayText;
public MyViewHolder(@NonNull View itemView) {
super(itemView);
dayText = itemView.findViewById(R.id.dayText);
}
}
}
- 설명 -
onBindViewHolder 메서드에 RecyclerView 설정을 추가합니다.
public class ParentAdapter extends RecyclerView.Adapter<ParentAdapter.MyViewHolder> {
ArrayList<String> parentArrayList;
Context context;
ArrayList<String> dayList;
public ParentAdapter(ArrayList<String> parentArrayList, Context context) {
this.parentArrayList = parentArrayList;
this.context = context;
}
//화면 생성
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
View view = inflater.inflate(R.layout.parent_row_layout, parent, false);
return new MyViewHolder(view);
}
//데이터 셋팅
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
holder.itemName.setText(parentArrayList.get(position));
//자식 RecyclerView 생성
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(context,
LinearLayoutManager.HORIZONTAL, false);
holder.childRV.setLayoutManager(layoutManager);
holder.childRV.setHasFixedSize(true);
//초기화
dayList = new ArrayList<String>();
//데이터 생성
dayList.add("Sun");
dayList.add("Mon");
dayList.add("Tue");
dayList.add("Wed");
dayList.add("Thu");
dayList.add("Fri");
dayList.add("Sat");
ChildAdapter adapter = new ChildAdapter(dayList);
holder.childRV.setAdapter(adapter);
}
@Override
public int getItemCount() {
return parentArrayList.size();
}
public class MyViewHolder extends RecyclerView.ViewHolder{
TextView itemName;
RecyclerView childRV;
public MyViewHolder(@NonNull View itemView) {
super(itemView);
itemName = itemView.findViewById(R.id.itemName);
childRV = itemView.findViewById(R.id.childRV);
}
}
}
2022.04.02 - [안드로이드] - [안드로이드] 같은 그림 찾기 게임 만드는 방법 part1 - 화면 구성
[안드로이드] 같은 그림 찾기 게임 만드는 방법 part1 - 화면구성
앞으로 같은 그림 찾기 게임을 만들어 보겠습니다. 이번 시간에는 화면 구성을 해보겠습니다. 이 게임은 8장의 카드가 있고, 2장의 카드를 뒤집어서 같은 그림이면 성공, 틀리면 맞을 때까지 하
aries574.tistory.com
2022.03.09 - [안드로이드] - [안드로이드] Firebase 시작하기 실시간 데이터베이스 Realtime Database (간단한 데이터 읽기, 쓰기) part1
[안드로이드] Firebase 시작하기 실시간 데이터베이스 Realtime Database (간단한 데이터 읽기, 쓰기) part
이번 시간에는 Firebase를 통해 데이터베이스에 간단한 데이터를 쓰고 읽는 방법에 대하여 알아보겠습니다. 목차 1. 실행 화면 2. 프로젝트 만들기 3. 앱 만들기 4. 데이터 베이스 만들기 5. 라이브러
aries574.tistory.com
2022.02.23 - [안드로이드] - [안드로이드] 원형 메뉴(CircleMenu) 쉽게 만드는 방법
[안드로이드] 원형메뉴(CircleMenu) 쉽게 만드는 방법
이번 시간에는 원형버튼을 클릭하면 퍼지면서 원형메뉴를 보여주는 방법을 알아보겠습니다. 목차 1. 실행 화면 2. 라이브러리 등록 3. 메인 화면 구성 activity_main.xml 4. 메인 코드 구현 MainActivity
aries574.tistory.com
[안드로이드] LineChart 만드는 방법 part2 - 멀티 데이터 구현 (0) | 2022.04.30 |
---|---|
[안드로이드] LineChart 만드는 방법 part1 - 기본 구현 (0) | 2022.04.29 |
[안드로이드] RecycelrView 안에(중첩) RecycelrView 만드는 방법 part1 (0) | 2022.04.27 |
[안드로이드] 커스텀 달력 만드는 방법 part8 이번 달만 색상 변경하기 (5) | 2022.04.26 |
[안드로이드] 커스텀 달력 만드는 방법 part7 달력 표시 변경하기 (1) | 2022.04.25 |
댓글 영역