군침이 싹 도는 코딩

RecyclerView 와 Adapter 를 이용하여 리스트를 화면에 표시하는 법 본문

Android

RecyclerView 와 Adapter 를 이용하여 리스트를 화면에 표시하는 법

mugoori 2023. 2. 1. 11:07
package com.mugoori.contactapp;

import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import com.mugoori.contactapp.adapter.ContactAdapter;
import com.mugoori.contactapp.data.DatabaseHandler;
import com.mugoori.contactapp.model.Contact;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

    Button btnAdd;

    // 리사이클러뷰를 사용할때
    // RecyclerView, Adapter, ArrayList 를 쌍으로 적어라
    RecyclerView recyclerView;
    ContactAdapter adapter;
    ArrayList<Contact> contactList;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btnAdd = findViewById(R.id.btnAdd);

        // 리사이클러뷰를 화면에 연결하고 쌍으로 같이 다니는 코드도 작성
        recyclerView = findViewById(R.id.recyclerView);
        recyclerView.setHasFixedSize(true);
        recyclerView.setLayoutManager(new LinearLayoutManager(MainActivity.this));

        btnAdd.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(MainActivity.this,AddActivity.class);
                startActivity(intent);

            }
        });

        // db 로부터 데이터를 가져와서 리사이클러뷰에 표시하자
        DatabaseHandler db = new DatabaseHandler(MainActivity.this);
        contactList = db.getAllContacts();
        db.close();

        // 어댑터를 만든다
        adapter = new ContactAdapter(MainActivity.this,contactList);
        // 어댑터를 리사이클러뷰에 셋팅
        recyclerView.setAdapter(adapter);


    }
}

# 리사이클러뷰를 사용해서 화면에 리스트를 표시해보았다

전글에서 만든 Adapter 를 이용한다

 

 

 

public class MainActivity extends AppCompatActivity {

    Button btnAdd;

    // 리사이클러뷰를 사용할때
    // RecyclerView, Adapter, ArrayList 를 쌍으로 적어라
    RecyclerView recyclerView;
    ContactAdapter adapter;
    ArrayList<Contact> contactList;

# 리사이클러뷰를 사용할때에는 멤버변수를 작성할때

RecyclerView, Adapter, ArrayList 3개를 묶어서 써준다

 

 

 

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    btnAdd = findViewById(R.id.btnAdd);

    // 리사이클러뷰를 화면에 연결하고 쌍으로 같이 다니는 코드도 작성
    recyclerView = findViewById(R.id.recyclerView);
    recyclerView.setHasFixedSize(true);
    recyclerView.setLayoutManager(new LinearLayoutManager(MainActivity.this));

# 화면에 연결하는 코드를 작성할때에도 findViewById 와

setHasFixedSize( true ), setLayoutManager 도 작성해준다

 

 

 

btnAdd.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(MainActivity.this,AddActivity.class);
                startActivity(intent);

            }
        });

        // db 로부터 데이터를 가져와서 리사이클러뷰에 표시하자
        DatabaseHandler db = new DatabaseHandler(MainActivity.this);
        contactList = db.getAllContacts();
        db.close();

        // 어댑터를 만든다
        adapter = new ContactAdapter(MainActivity.this,contactList);
        // 어댑터를 리사이클러뷰에 셋팅
        recyclerView.setAdapter(adapter);

# 이제 db로부터 데이터를 가져와서 리사이클러뷰에 넣어주고

어댑터를 리사이클러뷰와 연결시켜주면 된다

 

 

 

# 리사이클러뷰가 작동이 잘 되는것을 확인할 수 있다