본문 바로가기
Android/기본기능

[Android] ListView 구성하기

by 백호루이 2023. 10. 1.
반응형

안드로이드로 테스트 앱을 만들 때 가장 많이 사용하는 듯.

화면의 리스트를 구성하고 그 리스트를 누르면 테스트할 기능이 실행되는 형태이다.

 

 

1. Layout 구성

<?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"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    </ListView>

</LinearLayout>

LinearLayout을 vertical로 설정하고 그 아래에 ListView를 구성했다.

 

 

2. MainActivity.java 설정

package com.example.listexample01;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {
    private ListView list;

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

        list = (ListView) findViewById(R.id.list); //xml의 ListView id 연결
        List<String> data = new ArrayList<>(); // ListView를 구성할 String 타입의 리스트

        ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, data);
        list.setAdapter(adapter); // ArrayAdapter로 연결을 해줘야 한다.

        // 표시할 리스트 항목을 추가
        data.add("Call Test");
        data.add("SMS Test");
        data.add("Internet Test");
        adapter.notifyDataSetChanged(); // 마지막에 adapter에 변경사항을 set 해줘야 한다.
    }
}

ListView(list) <-> ArrayAdapter(adapter) <-> List<String> data 같은 형태로 구성이 된다.

data.add("item")을 하면 adapter를 통해 list에 반영이 되는 형태.

 

 

3. 결과 화면

반응형

댓글