커스텀 리스트뷰 Custom ListView 1

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

Android_Basic

목록 보기
12/19

Custom ListView

  • 리스트뷰를 구성할 때 항목 하나의 모양을 개발자가 직접 만들어 사용할 수 있다.

  • 만약 항목 하나에 배치된 뷰 중 값을 설정할 뷰가 TextView 하나일 경우 ArrayAdapter를 사용한다.

문자열 하나만 셋팅할 경우에는 ArrayAdapter를 사용한다.

package com.androidbasic.a14listviewcustom1;

import androidx.appcompat.app.AppCompatActivity;

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

public class MainActivity extends AppCompatActivity {

    //리스트 뷰를 구성하기 위한 문자열 배열
    String [] data = {
            "데이터1","데이터2","데이터3","데이터4","데이터5","데이터6",
    };
    //뷰의 주소 값을 담을 참조변수
    ListView listView;
    TextView textView2;

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

        //뷰의 주소 값을 받아돈다.
        listView = (ListView)findViewById(R.id.list1);
        textView2 = (TextView)findViewById(R.id.textView2);

        //어뎁터 생성
        ArrayAdapter<String> adapter = new ArrayAdapter<String >(this, R.layout.row,R.id.textView,data);

        //어뎁터 세팅
        listView.setAdapter(adapter);

        //리스너 세팅
        ListListener listListener = new ListListener();
        listView.setOnItemClickListener(listListener);

    }
    //리스트뷰 리스너
    class ListListener implements AdapterView.OnItemClickListener{
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            textView2.setText(data[position]);
        }
    }
}

실습 Git

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

0개의 댓글

관련 채용 정보