layout->LinearLayout
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
설정
orientation= vertical로 설정
Mainactivity로 이동
private ListView list; 변수 설정
Oncreate 생명주기에 list = (ListView)findViewById(R.id.list); ListView id 가져옴
데이터 저장하려면 List라는 자료형을 만들어줘야 한다.
->List<String> data = new ArrayList<>();
빨간색 줄 뜰 시 Alt+Enter 해서 import 하기
data 저장하는 list 만들어줬으면 ListView랑 연결해 주는 어댑터 만들어야 한다.
ArrayAdapter<String> adapter = new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,data);
//매개변수(this는 현재 activity 해당, 안드로이드에서 제공하는 기본 디자인, data)
ListView에 다리 역할하는 adapter 설정 // ListView에 data를 저장할 수 있게 하는 다리 역할을 하는듯하다.
list.setAdapter(adapter);
->adapter를 list에 세팅
data.add("hessepark");
data.add("뉴턴");
data.add("사과");
adapter.notifyDataSetChanged(); //이것을 해줘야 저장 완료
차후에 custom ListView 만들 예정
요약해 보면
.xml에서 ListView를 만들고
.java에서 ListView list 변수 만들고 연결해 준 뒤
List<String>data = new Array<>();로 data 담을 공간을 만들어준 후
ArrayAdapter<String>adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1,data)를 만들어서 list.setAdapter(adapter)로 연결하고 data 추가하고 adapter.notifyDataSetChanged()로 닫기
코드
//<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: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_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
//<MainActivity.java>
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); // ListView에 adapter 세팅
data.add("hessepark");
data.add("뉴턴");
data.add("사과");
adapter.notifyDataSetChanged();
}
}
결과

'[Android Studio] (Java)' 카테고리의 다른 글
| [Android Studio] (SharedPreferences) (0) | 2023.08.24 |
|---|---|
| [Android Studio] (Navigation Menu) (수정 필요) (0) | 2023.08.24 |
| [Android Studio] (패키지 구조 & 역할) (0) | 2023.08.24 |
| [Android Studio] (ImageView & Toast) (0) | 2023.08.23 |
| [Android Studio] Intent 화면 전환 (0) | 2023.08.23 |