...

반응형

성능등의 문제로 listview 보다는 recyclerview 사용하는게 좋지만

아주 간단히 사용할때는 가끔 listview를 사용하기도 하는데요
여러 파일 만들 필요없이 간단히 제어하는 방법입니다

일단 레이아웃에 리스트뷰를 추가하고

 

<ListView
	android:overScrollMode="never"
	android:id="@+id/listview"
	android:layout_width="match_parent"
	android:layout_height="wrap_content"
	android:divider="#dcdcdc"
	android:dividerHeight="1dp"/>

 

android:overScrollMode="never" : 리스트뷰의 위쪽과 아래쪽 끝에 드래그했을때 그림자 안생기게
android:divider="#dcdcdc" : 리스트와 리스트 사이의 라인 색상
android:dividerHeight="1dp" : 리스트와 리스트 사이의 라인 두께

리스트 뷰 변수와 어댑터 변수를 선언해주고 리스트뷰를 찾아줍니다

ListView listView;	
ArrayAdapter<String> adapter;
arrList = new ArrayList<>();

listView = findViewById(R.id.listview);


어댑터에 목록 변수를 넣어줍니다

 

adapter = new ArrayAdapter<>(context.getApplicationContext(), android.R.layout.simple_list_item_1, arrList);

 

만약 리스트뷰의 글자 크기등을 변경하고 싶으면
레이아웃 파일을 만들고 아래와 같이 또는 원하는 대로 바꾸고

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/text11"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center_vertical"
    android:textSize="15sp"
    android:paddingTop="10dp"
    android:paddingBottom="10dp"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    />

 

adapter = new ArrayAdapter<String>(context.getApplicationContext(), R.layout.listview_layout, arrList);

 

어댑터를 위와 같이 바꿔줍니다

그리고 리스트뷰에 어댑터를 연결해줍니다

listView.setAdapter(adapter);

 

리스트뷰 아이템의 버튼 클릭 이벤트를 받을려면

 

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
	@Override
	public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
		

	}
});

 

위와 같이 하면 간단히 리스트뷰를 사용할 수 있습니다

반응형