본문 바로가기
Android

안드로이드 스튜디오, JAVA] 기본 리스트뷰(ListView) 만들기

by 김마리님 2020. 7. 22.

기본적으로 안드로이드는 ListView를 기본적으로 제공한다.

리스트뷰가 무엇이냐면, 보면 Aㅏ 한다.

 

결과 :

구현법은 간단하다.

띄울 액티비티 xml 파일에 ListView 속성을 만든다.

 

activity_main.xml

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

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


</LinearLayout>

 

본 리스트값을 띄우기 위해서는 값과, 이 값을 넣어줄 어댑터가 필요하다.

안드로이드는 어댑터에 값을 매개변수로 제시하면 이 값을 스스로 계산해서 넣어주는 특성이 있다.

따라서, adapter에 3개의 매개변수를 필요로 하는데, 

1) 이 값을 띄울 컨텍스트

2) 이 값을 띄울 형태 (이건 안드로이드가 가지고 있는 고유의 xml을 이용한다.)

3) 출력할 값(배열)

 

따라서, 코드가

 

MainActivity.java

package com.mary.movieapp;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Context;
import android.opengl.EGLExt;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

import java.util.Arrays;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    private static final String TAG = "Main_Activity";
    private Context mContext=MainActivity.this;
    private ListView listView;
    private ArrayAdapter arrayAdapter;

    List<String> items = Arrays.asList(
            "히어로즈","24시","로스트","로스트룸","빅뱅이론","프렌즈","덱스터","글리","히어로즈","24시","로스트","로스트룸","빅뱅이론","프렌즈","덱스터","글리"
    );

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

        listView=findViewById(R.id.list_view);

        arrayAdapter=new ArrayAdapter(mContext, android.R.layout.simple_expandable_list_item_1,items);
        listView.setAdapter(arrayAdapter);



    }
}

만 하면 된다.

 

그러나, 우리는 이 안드로이드가 제공하는 것 이외에 어댑터와 디자인을 새로 지정할 수도 있다. 즉, 이 리스트도 커스텀이 가능하다.

반응형