Top 5 안드로이드 스튜디오 리스트 뷰 All Answers

You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 안드로이드 스튜디오 리스트 뷰 on Google, you do not find the information you need! Here are the best content compiled and compiled by the https://chewathai27.com/to team, along with other related topics such as: 안드로이드 스튜디오 리스트 뷰 안드로이드 리스트뷰 클릭 이벤트


안드로이드 앱 만들기 #6 (ListView) – 쉽게 앱 만드는 방법 (현직 개발자 설명) , android studio easy tutorial
안드로이드 앱 만들기 #6 (ListView) – 쉽게 앱 만드는 방법 (현직 개발자 설명) , android studio easy tutorial


[Android] 안드로이드 – 리스트뷰(ListView) 구현

  • Article author: lktprogrammer.tistory.com
  • Reviews from users: 42116 ⭐ Ratings
  • Top rated: 3.8 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [Android] 안드로이드 – 리스트뷰(ListView) 구현 리스트뷰(ListView)는 사용자가 정의한 데이터 목록을 세로 방향으로 나열하여 화면에 표시하는 뷰 그룹의 한 종류입니다. ListView와 같은 뷰 … …
  • Most searched keywords: Whether you are looking for [Android] 안드로이드 – 리스트뷰(ListView) 구현 리스트뷰(ListView)는 사용자가 정의한 데이터 목록을 세로 방향으로 나열하여 화면에 표시하는 뷰 그룹의 한 종류입니다. ListView와 같은 뷰 … 리스트뷰(ListView)는 사용자가 정의한 데이터 목록을 세로 방향으로 나열하여 화면에 표시하는 뷰 그룹의 한 종류입니다. ListView와 같은 뷰 그룹(ViewGroup)은 스크롤 기능을 지원하며 사용자가 배치된 각 항목..
  • Table of Contents:

Main Menu

[Android] 안드로이드 – 리스트뷰(ListView) 구현

‘ProgrammingAndroid 개발’ 관련 글

Sidebar

Copyright © 맛있는 프로그래머의 일상 All Rights Reserved

Designed by JB FACTORY

티스토리툴바

[Android] 안드로이드 - 리스트뷰(ListView) 구현
[Android] 안드로이드 – 리스트뷰(ListView) 구현

Read More

[안드로이드/Android] 리스트뷰(ListView) 만들기

  • Article author: eunoia3jy.tistory.com
  • Reviews from users: 171 ⭐ Ratings
  • Top rated: 3.3 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [안드로이드/Android] 리스트뷰(ListView) 만들기 리스트뷰 (ListView) 란? · – 사용자가 정의한 데이터 목록을 세로 방향으로 나열하여 화면에 표시하는 뷰 그룹(ViewGroup) 의 한 종류. …
  • Most searched keywords: Whether you are looking for [안드로이드/Android] 리스트뷰(ListView) 만들기 리스트뷰 (ListView) 란? · – 사용자가 정의한 데이터 목록을 세로 방향으로 나열하여 화면에 표시하는 뷰 그룹(ViewGroup) 의 한 종류. 리스트뷰 (ListView) 란? – 사용자가 정의한 데이터 목록을 세로 방향으로 나열하여 화면에 표시하는 뷰 그룹(ViewGroup) 의 한 종류 – 리스트뷰(ListView) 와 같은 뷰 그룹(ViewGroup) 은 스크롤 기능을 지원하며..
  • Table of Contents:
[안드로이드Android] 리스트뷰(ListView) 만들기

안드로이드 결과화면

티스토리툴바

[안드로이드/Android] 리스트뷰(ListView) 만들기
[안드로이드/Android] 리스트뷰(ListView) 만들기

Read More

[2020 안드로이드 스튜디오] 리스트뷰(ListView), 어댑터(Adapter) 이해 &기본예제

  • Article author: bite-sized-learning.tistory.com
  • Reviews from users: 49522 ⭐ Ratings
  • Top rated: 3.1 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [2020 안드로이드 스튜디오] 리스트뷰(ListView), 어댑터(Adapter) 이해 &기본예제 [2020 안드로이드 스튜디오] 리스트뷰(ListView) 이해 &예제, 어댑터 개념. Andro Studio Version 3.6.3. 사용언어: JAVA … …
  • Most searched keywords: Whether you are looking for [2020 안드로이드 스튜디오] 리스트뷰(ListView), 어댑터(Adapter) 이해 &기본예제 [2020 안드로이드 스튜디오] 리스트뷰(ListView) 이해 &예제, 어댑터 개념. Andro Studio Version 3.6.3. 사용언어: JAVA … [2020 안드로이드 스튜디오] 리스트뷰(ListView) 이해 &예제, 어댑터 개념 Android Studio Version 3.6.3 사용언어: JAVA STEP 1 아이템을 위한 XML 레이아웃 정의하기 – 리스트뷰에 들어갈 각 아이템의 레..프로그래밍
  • Table of Contents:

태그

관련글

댓글3

최근글

인기글

전체 방문자

최근댓글

태그

티스토리툴바

[2020 안드로이드 스튜디오] 리스트뷰(ListView), 어댑터(Adapter) 이해 &기본예제
[2020 안드로이드 스튜디오] 리스트뷰(ListView), 어댑터(Adapter) 이해 &기본예제

Read More

[Android] ListView 사용하기 (안드로이드, 리스트뷰, Adapter)

  • Article author: bbaktaeho-95.tistory.com
  • Reviews from users: 44241 ⭐ Ratings
  • Top rated: 3.8 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [Android] ListView 사용하기 (안드로이드, 리스트뷰, Adapter) ListView는 일반적으로 리스트 형태로 된 화면 컨트롤을 말합니다. 여러 개의 아이템 중에 하나를 선택할 수 있는 위젯들을 Selection Wget이라고 … …
  • Most searched keywords: Whether you are looking for [Android] ListView 사용하기 (안드로이드, 리스트뷰, Adapter) ListView는 일반적으로 리스트 형태로 된 화면 컨트롤을 말합니다. 여러 개의 아이템 중에 하나를 선택할 수 있는 위젯들을 Selection Wget이라고 … 들어가며 ListView를 사용해서 과일 리스트를 나타내 보겠습니다. 각각의 아이템인 과일을 클릭했을 때 이벤트 리스너를 통해서 어떤 아이템이 선택되었는지 TextView에 나타내 보겠습니다. ListView ListView는..
  • Table of Contents:

Bbaktaeho

[Android] ListView 사용하기 (안드로이드 리스트뷰 Adapter) 본문

들어가며

ListView

프로젝트 생성

resactivity_mainxml

MainActivityjava

실행

티스토리툴바

[Android] ListView 사용하기 (안드로이드, 리스트뷰, Adapter)
[Android] ListView 사용하기 (안드로이드, 리스트뷰, Adapter)

Read More

[안드로이드] ListView ‘리스트뷰’ / ViewHolder ‘뷰홀더’

  • Article author: jaejong.tistory.com
  • Reviews from users: 41834 ⭐ Ratings
  • Top rated: 4.6 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [안드로이드] ListView ‘리스트뷰’ / ViewHolder ‘뷰홀더’ ListView ‘리스트뷰’ 데이터 목록(List)를 세로 방향의 리스트 형태로 나열하여 화면에 보여주는 ViewGroup 중 하나 ViewGroup는 스크롤 기본지원 … …
  • Most searched keywords: Whether you are looking for [안드로이드] ListView ‘리스트뷰’ / ViewHolder ‘뷰홀더’ ListView ‘리스트뷰’ 데이터 목록(List)를 세로 방향의 리스트 형태로 나열하여 화면에 보여주는 ViewGroup 중 하나 ViewGroup는 스크롤 기본지원 … ListView ‘리스트뷰’ 데이터 목록(List)를 세로 방향의 리스트 형태로 나열하여 화면에 보여주는 ViewGroup 중 하나 ViewGroup는 스크롤 기본지원 ListView 사용법 ListView는 3가지의 구성요소로 존재 1) View -..
  • Table of Contents:

ListView ‘리스트뷰’

‘Android StudioView’ Related Articles

[안드로이드] ListView '리스트뷰' / ViewHolder '뷰홀더'
[안드로이드] ListView ‘리스트뷰’ / ViewHolder ‘뷰홀더’

Read More

안드로이드 리스트뷰 기본 사용법. (Android ListView) :: 개발자를 위한 레시피

  • Article author: recipes4dev.tistory.com
  • Reviews from users: 46323 ⭐ Ratings
  • Top rated: 4.5 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 안드로이드 리스트뷰 기본 사용법. (Android ListView) :: 개발자를 위한 레시피 1. 안드로이드 ListView. ListView는 사용자가 정의한 데이터 목록을 아이템 단위로 구성하여 화면에 출력하는 ViewGroup의 한 종류입니다. ListView의 … …
  • Most searched keywords: Whether you are looking for 안드로이드 리스트뷰 기본 사용법. (Android ListView) :: 개발자를 위한 레시피 1. 안드로이드 ListView. ListView는 사용자가 정의한 데이터 목록을 아이템 단위로 구성하여 화면에 출력하는 ViewGroup의 한 종류입니다. ListView의 … 1. 안드로이드 ListView ListView는 사용자가 정의한 데이터 목록을 아이템 단위로 구성하여 화면에 출력하는 ViewGroup의 한 종류입니다. ListView의 아이템들은 세로 방향으로 나열되며, 아이템의 개수가 많아짐..programming, develop, software, android, iOS, linux, java, kotlin, c, cpp, web, spring
  • Table of Contents:

안드로이드 리스트뷰 기본 사용법 (Android ListView)

티스토리툴바

안드로이드 리스트뷰 기본 사용법. (Android ListView) :: 개발자를 위한 레시피
안드로이드 리스트뷰 기본 사용법. (Android ListView) :: 개발자를 위한 레시피

Read More

안드로이드 스튜디오-List View

  • Article author: cpcp127.tistory.com
  • Reviews from users: 24123 ⭐ Ratings
  • Top rated: 3.1 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 안드로이드 스튜디오-List View 처음으로 xml으로 가서레이아웃을 LinearLayout으로(vertical) 바꾸어 주고 listview를 추가해줍니다  … …
  • Most searched keywords: Whether you are looking for 안드로이드 스튜디오-List View 처음으로 xml으로 가서레이아웃을 LinearLayout으로(vertical) 바꾸어 주고 listview를 추가해줍니다  … 처음으로 xml으로 가서레이아웃을 LinearLayout으로(vertical) 바꾸어 주고 listview를 추가해줍니다  그러면 아래 사진처럼 listview가 생성이 됩니다 다음으로 main으..
  • Table of Contents:

앱 개발 공부방

안드로이드 스튜디오-List View 본문

안드로이드 스튜디오-List View
안드로이드 스튜디오-List View

Read More

[안드로이드] 리스트 뷰(ListView) 기본 사용 예제 – 어댑터 이용

  • Article author: baessi.tistory.com
  • Reviews from users: 32515 ⭐ Ratings
  • Top rated: 3.7 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [안드로이드] 리스트 뷰(ListView) 기본 사용 예제 – 어댑터 이용 일단 해당 액티비티의 xml 파일에 ListView 영역을 생성합니다. acitivity_list.xml 파일 [안드로이드] 리스트 뷰(ListView) 기본 사용 예제 - 어댑터 이용
    [안드로이드] 리스트 뷰(ListView) 기본 사용 예제 – 어댑터 이용

    Read More

    [Android] 안드로이드 : 리스트뷰(ListView) 만들기

    • Article author: ddaengddaeng.tistory.com
    • Reviews from users: 44359 ⭐ Ratings
    • Top rated: 3.7 ⭐
    • Lowest rated: 1 ⭐
    • Summary of article content: Articles about [Android] 안드로이드 : 리스트뷰(ListView) 만들기 각각의 아이템을 위한 뷰도 어댑터에서 만들어주기 때문에 리스트뷰는 어댑터의 getView 메소드를 호출하여 뷰 객체를 반환받은 후 화면에 보여주게 … …
    • Most searched keywords: Whether you are looking for [Android] 안드로이드 : 리스트뷰(ListView) 만들기 각각의 아이템을 위한 뷰도 어댑터에서 만들어주기 때문에 리스트뷰는 어댑터의 getView 메소드를 호출하여 뷰 객체를 반환받은 후 화면에 보여주게 … 1. 리스트뷰란? – 리스트뷰는 여러 개의 아이템을 위, 아래로 스크롤할 수 있게 해주면 그 안에 들어가 있는 각각의 아이템을 순서대로 보여주는 뷰 – 각각의 아이템은 독립적인 뷰로 만들어지게 되고 이 뷰들이..
    • Table of Contents:

    태그

    관련글

    댓글2

    공지사항

    최근글

    인기글

    최근댓글

    태그

    전체 방문자

    [Android] 안드로이드 : 리스트뷰(ListView) 만들기
    [Android] 안드로이드 : 리스트뷰(ListView) 만들기

    Read More

    ListView  |  Android Developers

    • Article author: developer.android.com
    • Reviews from users: 6755 ⭐ Ratings
    • Top rated: 4.6 ⭐
    • Lowest rated: 1 ⭐
    • Summary of article content: Articles about ListView  |  Android Developers For a more modern, flexible, and performant approach to displaying lists, use RecyclerView . To display a list, you can include a list view in your layout XML … …
    • Most searched keywords: Whether you are looking for ListView  |  Android Developers For a more modern, flexible, and performant approach to displaying lists, use RecyclerView . To display a list, you can include a list view in your layout XML …
    • Table of Contents:

    Summary

    XML attributes

    Public constructors

    Public methods

    Protected methods

    ListView  |  Android Developers
    ListView  |  Android Developers

    Read More


    See more articles in the same category here: https://chewathai27.com/to/blog.

    리스트뷰(ListView) 구현

    리스트뷰(ListView)는 사용자가 정의한 데이터 목록을 세로 방향으로 나열하여 화면에 표시하는 뷰 그룹의 한 종류입니다. ListView와 같은 뷰 그룹(ViewGroup)은 스크롤 기능을 지원하며 사용자가 배치된 각 항목(Item)을 선택하는 것도 가능합니다. 이번 포스팅에서는 BaseAdapter와 ListView를 사용하여 영화 목록을 보여주는 간단한 앱을 구현해보겠습니다.

    1. Adapter

    ListView에 사용자가 정의한 데이터를 표시하기 위해서는 Adapter를 사용해야 합니다. 어댑터(Adapter)는 사용자의 데이터를 받아 뷰(View)를 생성해주는 객체로 ListView와는 독립적으로 동작하는 객체입니다. ListView는 Adpater로부터 생성된 뷰(View)를 받아 ListView의 한 항목으로 배치합니다. 어댑터(Adapter)는 관리되는 데이터와 제공하는 뷰(View) 형태에 따라 종류가 다양합니다.

    2. 리스트뷰(ListView) 구현

    2.1 구현 순서

    ▼ ListView를 사용하기 위해서는 당연히 ListView를 화면에 올려야 합니다. 그러기 위해 먼저 XML 레이아웃 리소스에 ListView를 정의해줍니다.

    ▼ ListView에 표현할 데이터 객체를 생성하기 위한 Movie Class를 생성합니다. 해당 클래스의 객체를 생성하여 ArrayList에 담아 Adapter에서 관리하도록 구현할 것입니다.

    ▼ Adapter에서 각 데이터 항목에 대하여 뷰(View)를 생성하기 위해서는 미리 정의된 XML 레이아웃 리소스를 사용합니다. 해당 XML 레이아웃 리소스를 전개자(Inflater)를 통해 각 뷰(View)가 참조를 얻어 현재 아이템 항목에 해당하는 데이터를 바인딩하여 뷰(View)를 생성한 뒤 해당 뷰(View)를 반환해주는 함수를 구현해야 합니다.

    ▼ Adapter 구현이 끝나면 구현한 Adapter와 ListView를 연결해주는 작업을 진행합니다. 그다음으로 ListView에 Click 이벤트를 연결하면 예제 구현이 끝납니다.

    2.2 MainActivity의 레이아웃 리소스와 ListView의 레이아웃 리소스

    ▼ 앱이 메인 화면이 되는 레이아웃 리소스 형태는 ConstraintLayout 아래에 ListView를 배치한 형태입니다.

    ▼ 위 XML 레이아웃 리소소는 ListView에 각각의 데이터 항목을 표현하기 위한 레이아웃 리소스입니다.

    수평 LinearLayout 아래에 ImageView와 수직 LinearLayout을 배치였고 수직 LinearLayout 아래는 TextView 2개를 배치한 형태입니다.

    2.3 데이터 클래스 생성

    public class SampleData { private int poster; private String movieName; private String grade; public SampleData(int poster, String movieName, String grade){ this.poster = poster; this.movieName = movieName; this.grade = grade; } public int getPoster() { return this.poster; } public String getMovieName() { return this.movieName; } public String getGrade() { return this.grade; } }

    ▼ SampleData 클래스는 영화 정보를 담기 위해 생성한 클래스입니다. 해당 클래스는 영화 Poster Image가 있는 리소스 ID를 담는 int형 멤버 변수와 영화제목을 담기위한 String 형 멤버변수 그리고 등급을 표시하기 위한 String 형 멤버 변수를 포함하고 있습니다. 생성자 함수를 통해 각 멤버 변수의 데이터 값들을 Setting하고 getter 함수를 구현하여 각 멤버변수의 값들을 return 하도록 구현하였습니다.

    2.3 어댑터(Adapter) 구현

    public class MyAdapter extends BaseAdapter { Context mContext = null; LayoutInflater mLayoutInflater = null; ArrayList sample; public MyAdapter(Context context, ArrayList data) { mContext = context; sample = data; mLayoutInflater = LayoutInflater.from(mContext); } @Override public int getCount() { return sample.size(); } @Override public long getItemId(int position) { return position; } @Override public SampleData getItem(int position) { return sample.get(position); } @Override public View getView(int position, View converView, ViewGroup parent) { View view = mLayoutInflater.inflate(R.layout.listview_custom, null); ImageView imageView = (ImageView)view.findViewById(R.id.poster); TextView movieName = (TextView)view.findViewById(R.id.movieName); TextView grade = (TextView)view.findViewById(R.id.grade); imageView.setImageResource(sample.get(position).getPoster()); movieName.setText(sample.get(position).getMovieName()); grade.setText(sample.get(position).getGrade()); return view; } }

    ▼ BaseAdapter를 상속받아 MyAdapter를 구현합니다. 생성자 함수를 통해 ListView를 통해 표현하기 위한 사용자 정의 데이터인 ArrayList형 변수를 넘겨받아 sample이라는 참조 변수가 참조하도록 합니다.

    ▼ 주목해야 할 재정의 함수는 getView() 함수입니다. getView() 함수는 각 데이터 항목에 대하여 ListView에 표현하기 위한 뷰(View)를 생성하는 함수입니다. 전개자(Inflater)를 통해 listview_custom의 내용을 파싱 하여 뷰(View)들을 객체화합니다. 그리고 각 Widget의 참조를 얻어와 현재 표현하고자 하는 데이터 값들을 지정해줍니다.

    2.4 어댑터(Adapter)와 리스트뷰(ListView) 연결하기 / Click Event 연결

    public class MainActivity extends AppCompatActivity { ArrayList movieDataList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); this.InitializeMovieData(); ListView listView = (ListView)findViewById(R.id.listView); final MyAdapter myAdapter = new MyAdapter(this,movieDataList); listView.setAdapter(myAdapter); listView.setOnItemClickListener(new AdapterView.OnItemClickListener(){ @Override public void onItemClick(AdapterView parent, View v, int position, long id){ Toast.makeText(getApplicationContext(), myAdapter.getItem(position).getMovieName(), Toast.LENGTH_LONG).show(); } }); } public void InitializeMovieData() { movieDataList = new ArrayList(); movieDataList.add(new SampleData(R.drawable.movieposter1, “미션임파서블”,”15세 이상관람가”)); movieDataList.add(new SampleData(R.drawable.movieposter2, “아저씨”,”19세 이상관람가”)); movieDataList.add(new SampleData(R.drawable.movieposter3, “어벤져스”,”12세 이상관람가”)); } }

    ▼ 이제 어댑터(Adapter)와 리스튜뷰(ListView)를 연결해야 합니다. 그전에 먼저 Adapter에 넘겨줄 데이터를 초기화해야 합니다. 위 코드에서 InitializeMovieData() 함수를 통해 Type이 SampleData인 ArrayList에 데이터를 추가하고 있습니다.

    ▼ 앞서 구현했던 MyAdapter 객체를 생성합니다. 생성자 함수로 앞서 초기화했던 movieDataList를 넘겨주어 해당 Adapter 데이터를 관리하도록 합니다. 그런 다음 ListView의 setAdapter() 함수를 통해 어댑터와 리스트뷰를 연결합니다.

    ▼Click Event는 AdapterView.onItemClickListener 구현체를 익명 클래스 형태로 구현합니다. 특정 아이템 항목이 클릭되었을 때 재정의한 onItemClick() 함수가 호출되고 해당 함수 내에서 ListView Click에 대한 처리를 진행하시면 됩니다. 위 예제에서는 클릭된 영화의 제목을 Toast 메시지를 통해 띄우고 있습니다.

    3. 참조

    ■ 안드로이드 개발자 참조 문서 – ListView

    https://developer.android.com/reference/android/widget/ListView

    ■ 안드로이드 개발자 참조 문서 – Adapter

    https://developer.android.com/reference/android/widget/Adapter

    ■ Inflater 전개자

    [Android] 안드로이드 – setContentView()와 레이아웃 전개자(LayoutInflater)

    ■ 익명클래스

    [Android] 안드로이드 – 익명 클래스(Anonymous Class) 사용법

    Android] 리스트뷰(ListView) 만들기

    728×90

    반응형

    리스트뷰 (ListView) 란?

    – 사용자가 정의한 데이터 목록을 세로 방향으로 나열하여 화면에 표시하는 뷰 그룹(ViewGroup) 의 한 종류

    – 리스트뷰(ListView) 와 같은 뷰 그룹(ViewGroup) 은 스크롤 기능을 지원하며 사용자가 배치된 각 항목(Item) 선택 기능이 가능한 선택 위젯

    작성한 파일 목록 입니다.

    1. AndroidManifest.xml

    2. ListViewActivity.java

    3. activity_listview.xml

    4. BearItem.java

    5. listview_list_item.xml

    1. AndroidManifest.xml

    새로 생성한 ListViewActivity 를 application 에 등록해줍니다.

    2. ListViewActivity.java

    리스트뷰(ListView) 를 구현할 ListViewActivity 액티비티를 생성합니다.

    이 액티비티에서 리스트뷰(ListView) 를 호출하고

    리스트뷰어댑터 를 구현합니다.

    리스트뷰(ListView) 에 사용자가 정의한 아이템을 표시하기 위해서는 Adapter 를 사용해야 합니다.

    Adapter 는 사용자의 아이템 데이터를 받아 뷰(View) 를 생성해주는 객체 입니다.

    setAdapter() 를 통해 리스트뷰(ListView) 와 Adapter 를 연결합니다.

    리스트뷰(ListView) 는 Adapter 로부터 생성된 뷰(View) 를 받아 리스트뷰(ListView) 의 항목으로 배치합니다.

    각 리스트의 선택 이벤트도 같이 구현하였습니다.

    package com.eun.myapp; import android.content.Context; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import java.util.ArrayList; public class ListViewActivity extends AppCompatActivity { private String TAG = ListViewActivity.class.getSimpleName(); private ListView listview = null; private ListViewAdapter adapter = null; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_listview); listview = (ListView) findViewById(R.id.listview); adapter = new ListViewAdapter(); //Adapter 안에 아이템의 정보 담기 adapter.addItem(new BearItem(“1”, “파랑이”, R.drawable.img_blue)); adapter.addItem(new BearItem(“2”, “민트트”, R.drawable.img_mint)); adapter.addItem(new BearItem(“3”, “하늘이”, R.drawable.img_skyblue)); adapter.addItem(new BearItem(“4”, “하양이”, R.drawable.img_white)); adapter.addItem(new BearItem(“5”, “분홍이”, R.drawable.img_pink)); adapter.addItem(new BearItem(“6”, “노랑이”, R.drawable.img_yellow)); adapter.addItem(new BearItem(“7”, “보라라”, R.drawable.img_purple)); adapter.addItem(new BearItem(“8”, “믹스스”, R.drawable.img_mix)); //리스트뷰에 Adapter 설정 listview.setAdapter(adapter); } /* 리스트뷰 어댑터 */ public class ListViewAdapter extends BaseAdapter { ArrayList items = new ArrayList(); @Override public int getCount() { return items.size(); } public void addItem(BearItem item) { items.add(item); } @Override public Object getItem(int position) { return items.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup viewGroup) { final Context context = viewGroup.getContext(); final BearItem bearItem = items.get(position); if(convertView == null) { LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView = inflater.inflate(R.layout.listview_list_item, viewGroup, false); } else { View view = new View(context); view = (View) convertView; } TextView tv_num = (TextView) convertView.findViewById(R.id.tv_num); TextView tv_name = (TextView) convertView.findViewById(R.id.tv_name); ImageView iv_icon = (ImageView) convertView.findViewById(R.id.iv_icon); tv_num.setText(bearItem.getNum()); tv_name.setText(bearItem.getName()); iv_icon.setImageResource(bearItem.getResId()); Log.d(TAG, “getView() – [ “+position+” ] “+bearItem.getName()); //각 아이템 선택 event convertView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(context, bearItem.getNum()+” 번 – “+bearItem.getName()+” 입니당! “, Toast.LENGTH_SHORT).show(); } }); return convertView; //뷰 객체 반환 } } }

    3. activity_listview.xml

    리스트뷰(ListView) 레이아웃 리소스 입니다.

    4. BearItem.java

    리스트뷰(ListView) 에 아이템의 정보를 담기 위한 클래스 입니다.

    생성자 함수를 통해 각 멤버변수의 데이터 값들을 넣어줍니다.

    package com.eun.myapp; public class BearItem { /* 아이템의 정보를 담기 위한 클래스 */ String num; String name; int resId; public BearItem(String num, String name, int resId) { this.num = num; this.name = name; this.resId = resId; } public String getNum() { return num; } public void setNum(String num) { this.num = num; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getResId() { return resId; } public void setResId(int resId) { this.resId = resId; } }

    5. listview_list_item.xml

    아이템의 뷰 레이아웃 리소스 입니다.

    안드로이드 결과화면

    짜잔~ 케어베어 리스트뷰입니당 ^-^

    각 리스트를 선택할 때 마다 Toast 를 표시해 줍니다!

    끄읏-🐶

    728×90

    반응형

    [2020 안드로이드 스튜디오] 리스트뷰(ListView), 어댑터(Adapter) 이해 &기본예제

    728×90

    반응형

    [2020 안드로이드 스튜디오] 리스트뷰(ListView) 이해 &예제, 어댑터 개념

    Android Studio Version 3.6.3

    사용언어: JAVA

    STEP 1 아이템을 위한 XML 레이아웃 정의하기

    – 리스트뷰에 들어갈 각 아이템의 레이아웃을 XML로 정의합니다.

    ※ 예제 만들 때 파일명을 single로 한다는게 singer로 오타냈네요.

    코드가 돌아가는데는 이상이 없습니다. 무시하고 원하는 대로 네이밍 하시면 됩니다. ※

    ■ singer_item_list.xml

    STEP 2 아이템을 위한 뷰 정의하기

    – 먼저 하나의 아이템을 정의하는 클래스를 만듭니다.

    – 아이템을 구성할 요소는 이미지, 텍스트2개 입니다. 즉, 변수 3개 를 선언하면 되겠죠.

    ■ SingerItem.java

    package com.example.myapplication; public class SingerItem { String name; String mobile; int resId; //생성 public SingerItem(String name, String mobile, int resId) { this.name = name; this.mobile = mobile; this.resId = resId; } //변수에 접근할 때 .OO 접근하기보다는 안전하게 getter, setter를 이용합니다. public String getName() { return name; } public void setName(String name) { this.name = name; } public String getMobile() { return mobile; } public void setMobile(String mobile) { this.mobile = mobile; } public int getResId() { return resId; } @Override public String toString() { return “SingerItem{” + “name='” + name + ‘\” + “, mobile='” + mobile + ‘\” + ‘}’; } }

    – 전체 중 부분화면만 구성하는 거라 STEP1 에서 정의한 XML 레이아웃을 인플레이션 후 설정해야 합니다.

    – 아이템을 다루는 자바 파일을 만듭니다.

    – 아이템 레이아웃(single_item_list)를 인플레이션하여 참조할 수 있게 합니다.

    – setOOO 메서드를 통해 정의만 되어 있는 아이템의 이미지와 텍스트를 데이터를 넣을 수 있게 만듭니다.

    ■ SingerItemView.java

    package com.example.myapplication; import android.content.Context; import android.util.AttributeSet; import android.view.LayoutInflater; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import androidx.annotation.Nullable; public class SingerItemView extends LinearLayout { //어디서든 사용할 수 있게하려면 TextView textView, textView2; ImageView imageView; public SingerItemView(Context context) { super(context); init(context);//인플레이션해서 붙여주는 역 } public SingerItemView(Context context, @Nullable AttributeSet attrs) { super(context, attrs); } // 지금 만든 객체(xml 레이아웃)를 인플레이션화(메모리 객체화)해서 붙여줌 // LayoutInflater를 써서 시스템 서비스를 참조할 수 있음 // 단말이 켜졌을 때 기본적으로 백그라운드에서 실행시키는 것을 시스템 서비스라고 함 private void init(Context context){ LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); inflater.inflate(R.layout.singer_item_list,this, true); textView = findViewById(R.id.textView); textView2 = findViewById(R.id.textView2); imageView = findViewById(R.id.imageView); } public void setName(String name){ textView.setText(name); } public void setMobile(String mobile){ textView2.setText(mobile); } public void setImage(int resId){ imageView.setImageResource(resId); } }

    STEP 3 어댑터 정의하기

    – MainActivity에 데이터 관리 역할을 하는 어댑터 클래스를 만듭니다.

    – 그 안에 각 아이템으로 표시할 뷰를 리턴하는 getView() 메소드를 정의합니다.

    package com.example.myapplication; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ListView; import java.lang.reflect.Array; import java.util.ArrayList; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ListView listView = findViewById(R.id.listView); SingerAdapter adapter = new SingerAdapter(); adapter.addItem(new SingerItem(“blackFish”, “010-1000-1000”,R.drawable.icon01)); adapter.addItem(new SingerItem(“whiteFish”, “010-1000-1001”,R.drawable.icon02)); adapter.addItem(new SingerItem(“whiteGroup”, “010-1000-1002”,R.drawable.icon03)); adapter.addItem(new SingerItem(“blackGroup”, “010-1000-1003”,R.drawable.icon04)); adapter.addItem(new SingerItem(“blackFish”, “010-1000-1000”,R.drawable.icon01)); adapter.addItem(new SingerItem(“whiteFish”, “010-1000-1001”,R.drawable.icon02)); adapter.addItem(new SingerItem(“whiteGroup”, “010-1000-1002”,R.drawable.icon03)); adapter.addItem(new SingerItem(“blackGroup”, “010-1000-1003”,R.drawable.icon04)); listView.setAdapter(adapter); } class SingerAdapter extends BaseAdapter { //데이터가 들어가있지 않고, 어떻게 담을지만 정의해뒀다. ArrayList items = new ArrayList(); @Override public int getCount() { return items.size(); } public void addItem(SingerItem item){ items.add(item); } @Override public Object getItem(int position) { return items.get(position); } @Override public long getItemId(int position) { return position; } // 어댑터가 데이터를 관리하고 뷰도 만듬 @Override public View getView(int position, View convertView, ViewGroup parent) { SingerItemView singerItemView = null; // 코드를 재사용할 수 있도록 if(convertView == null) { singerItemView = new SingerItemView(getApplicationContext()); } else { singerItemView = (SingerItemView)convertView; } SingerItem item = items.get(position); singerItemView.setName(item.getName()); singerItemView.setMobile(item.getMobile()); singerItemView.setImage(item.getResId()); return singerItemView; } } }

    디렉토리 구성

    완성본

    728×90

    반응형

    So you have finished reading the 안드로이드 스튜디오 리스트 뷰 topic article, if you find this article useful, please share it. Thank you very much. See more: 안드로이드 리스트뷰 클릭 이벤트

Leave a Comment