유튜브 채널 hongdroid홍드로이드님의 강의를 보고 학습했습니다.
xml 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
<?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">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</ListView>
</LinearLayout>
|
cs |
Java 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
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);
List<String> data = new ArrayList<>();
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1,data);
list.setAdapter(adapter);
data.add("seminzzang");
data.add("seminzzang1");
data.add("seminzzang2");
adapter.notifyDataSetChanged();
}
}
|
cs |
이번 시간에는 ListView를 학습했다.
ListView는 말 그대로 리스트이다.
1. ListView
1) List, ArrayList
: List, ArrayList는 자료형인데 List가 더 큰 범주라고 생각하면 된다.
왜 List형에 ArrayList를 넣는지가 의문이였는데, List가 ArrayList를 포함하고 있어서 사용하는데에 전혀 문제가 없고,
List로 사용하면 ArrayList나 LinkedList를 사용할 수 있어 데이터 관리가 용이하다고 한다.
2)ArrayAdapter<String> adapter = new ArrayAdapter<>( this, android.R.layout.simple_list_item_1, data );
: ArrayAdapter는 쉽게 이해하자면 ListView와 우리가 만든 자료 List를 이어주는 역할을 한다.
첫 번째 인자는 액티비티 클래스를 구현하는 컨텍스트이고,
두 번째 인자는 안드로이드에서 제공하는 리스트뷰의 스타일이고,
세 번째 인자는 우리가 만든 자료 List, 즉 입력할 자료이다.
3) list.setAdapter(adapter) : 어댑터를 만들었으면 연결을 해야되는데, 이 함수가 연결 기능을 한다.
4) adapter.notifyDataSetChanged() :
이 함수는 리스트의 데이터를 수정할때 사용하는 함수인데,
리스트를 수정할 일이 없다면 생략해도 에러가 발생하지 않았다.
'Legacy' 카테고리의 다른 글
[안드로이드 스튜디오 독학#6] WebView (0) | 2021.01.08 |
---|---|
[안드로이드 스튜디오 독학#5] SharedPreferences (0) | 2021.01.08 |
[안드로이드 스튜디오 독학#3] Intent, ImageView, Toast (0) | 2021.01.05 |
[안드로이드 스튜디오 독학#2-1] 또 다른 OnClick 구현 (0) | 2021.01.05 |
[안드로이드 스튜디오 독학#2] EditText & Button (0) | 2021.01.04 |