728x90
1. ListView
ListView에 데이터를 추가하여 화면에 표시하기 위해서는 Adapter를 사용해야한다.
Adappter: "사용자가 정의한 데이터를 ListView에 출력하기 위해 사용하는 객체로, 사용자 데이터와 화면 출력 View로 이루어진 두 개의 부분을 이어주는 객체"
2.ListView 기본 사용법
listview는 기본적인 문자열을 출력하는 listview 만으로도 리스트뷰를 구성할수있지만
우리가 쓰는 대부분의 app들의 listview의 경우 Textview, imgageview , button 등을 마음대로 배치하여 listview를 구성하고있다.
2.1ListView가 표시될 위치결정(Layout xml작성)
2.2사용자 데이터 정의(ex string 타입의 배열선언)
2.3Adapter생성후 Listview에 지정
2.4Listview클릭 이벤트처리
(2.1 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"
>
<ListView
android:id="@+id/listview1"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</ListView>
</LinearLayout>
(2.2 ~ 2.4 MainActivity.java)
package com.example.pr2;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Adapter;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private ListView listview1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView listview1 = (ListView) findViewById(R.id.listview1);
//2.2 string타입의 배열선언
String [] items = {"대한민국","중국","미국","일본"};
//2.3 adapter생성
ListAdapter adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,items);
//2.3 adapter 을 listview에 지정
listview1.setAdapter(adapter);
//2.4 listview의 item클릭시 이벤트처리
listview1.setOnItemClickListener(
new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String item = String.valueOf(parent.getItemAtPosition(position));
Toast.makeText(MainActivity.this,item,Toast.LENGTH_SHORT).show();
}
}
);
}
}
아이템클릭시 해당 아이템의 문자열을 토스트띄우는 클릭이벤트를 넣었습니다.
728x90
'안드로이드' 카테고리의 다른 글
안드로이드 앱 외부 데이터베이스 연동(Android<-> PHP <-> Maria DB) 1. 기본 설치 (0) | 2021.06.03 |
---|---|
안드로이드 RecyclerView 사용법 (튜토리얼 ) (0) | 2020.11.23 |
안드로이드 스튜디오 외부이미지파일 url로 지정하여 사용하기 <Thread> (0) | 2020.11.17 |
안드로이드 스튜디오 AsyncTask 사용하기. / 안드로이드 스튜디오 백그라운드 실행 (0) | 2020.11.16 |
파이썬 코스피지수 실시간으로 크롤링하기 (beautifulsoup) (0) | 2020.11.16 |