리스트 뷰 ListView

INI-K (이니케이)·2021년 7월 24일
0

Android_Basic

목록 보기
11/19

ListView

  • 여러 항목들을 제공하고 위 아래로 스크롤하여 항목을 보여주는 뷰이다.•여러 항목들을 제공하고 위 아래로 스크롤하여 항목을 보여주는 뷰이다.

AdapterView

  • 뷰를 구성하기 위해 개발자가 코드를 통해 결정해 줘야 하는 항목이 있는 뷰를 통칭해서 AdapterView라고 부른다.

  • 다양한 항목을 제공하는 뷰에서 사용한다.


주요 메서드

  • setAdapter : 리스트뷰를 구성하기 위한 어뎁터 객체를 설정한다.

리스너

  • OnItemClickListener : 리스트뷰의 항목을 터치하면 반응하는 리스너

ListView는 여러 항목들을 나열하고 위 아래로 스크롤 해서 사용할 수 있는 뷰이다.

package com.androidbasic.a13listview;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Adapter;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;

import org.w3c.dom.Text;

public class MainActivity extends AppCompatActivity {

    //뷰의 주소값을 담을 참조변수
    ListView list1;

    TextView text1;

    String[] data1 =

            {
                    "리스트1", "리스트2", "리스트3", "리스트4", "리스트5", "리스트6",
                    "리스트7", "리스트8", "리스트9", "리스트10", "리스트11", "리스트12", "리스트13",
                    "리스트14", "리스트15", "리스트16", "리스트17", "리스트18", "리스트19",
            };

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

        //뷰의 주소값을 얻어옴

        list1 = (ListView)findViewById(R.id.list1);
        text1 = (TextView)findViewById(R.id.textView);

        //몇개의 항목을 보여줄것인가? => 배열이나 리스트의 항목의 갯수
        //각 항목에 어떤 데이터를 보여줄것인가? => 배열이나 리스트에 들어있는 값
        //각 항목은 어떤 모양으로 보여줄것인가? =>레이아웃

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,data1);

        //리스뷰에 어뎁터를 세팅한다.
        list1.setAdapter(adapter);

        //리스너를 설정한다.
        ListListener listListener = new ListListener();
        list1.setOnItemClickListener(listListener);
    }

    class ListListener implements AdapterView.OnItemClickListener{
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            text1.setText(data1[position]);
        }
    }
}

실습 Git

profile
긍정적인 개발자를 꿈꾸는 김태환입니다.

0개의 댓글

관련 채용 정보