중간 중간 의심가는 곳은 print해봤는데 배열에는 잘 들어간 것 같습니다.
xml파일에 textView를 하나 더 추가하니까 textView는 보입니다.
xml파일의 container들은 모두 match_parent로 선언했고, textView는 wrap_content로 선언했습니다.
이 xml파일에 textView를 추가하면 하나 더 보이긴 합니다.
그런데 목록이 얼마나 생길지 모르는 상황이라 동적으로 생성을 해야 하는데 어떤 부분을 수정해야 할 지 모르겠습니다...
[itemList.xml]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/edittext_border"
android:orientation="vertical">
<TextView
android:id="@+id/itemTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:text="TextView"
android:textSize="20dp"
android:textStyle="bold" />
</LinearLayout>
[main]
public class Chest extends Fragment {
RecyclerViewAdapter adapter;
ArrayList<ItemList> list;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.health_log_chest, container, false);
list = new ArrayList<ItemList>();
initializeData();
RecyclerView recyclerView = v.findViewById(R.id.chestRecyclerView);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(v.getContext());
recyclerView.setLayoutManager(linearLayoutManager);
adapter = new RecyclerViewAdapter(list);
recyclerView.setAdapter(adapter);
return v;
}
public void initializeData() {
ItemList data = new ItemList("벤치프레스");
list.add(data);
data = new ItemList("덤벨프레스");
list.add(data);
Button addBtn = new Button(getContext());
ItemList btn = new ItemList(addBtn);
list.add(btn);
}
}
[adapter.java]
public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder> {
private ArrayList<ItemList> itemList = new ArrayList<ItemList>();
public class ViewHolder extends RecyclerView.ViewHolder {
TextView textView;
public ViewHolder(@NonNull View itemView) {
super(itemView);
textView = itemView.findViewById(R.id.itemTitle);
}
public TextView getTextView() {
return textView;
}
}
public RecyclerViewAdapter(ArrayList<ItemList> list) {
itemList = list;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
Context context = parent.getContext();
LayoutInflater inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
View v = inflater.inflate(R.layout.item_list, parent, false);
RecyclerViewAdapter.ViewHolder vh = new RecyclerViewAdapter.ViewHolder(v);
return vh;
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
ItemList item = itemList.get(position);
String text = item.getListText();
holder.getTextView().setText(text);
}
@Override
public int getItemCount() {
return itemList.size();
}
public void addItem(ItemList data) {
itemList.add(data);
}
}