반응형
package com.example.simpleadapter;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Adapter;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.HashMap;
public class MainActivity extends AppCompatActivity {
//list항목 구성위한 문자열 2개
String[] data1 = {"t1","t2","t3","t4","t5","t6"};
String[] data2 = {"s1","s2","s3","s4","s5","s6"};
//define variables
ListView list1;
TextView textView1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//connect to xml id
list1 = findViewById(R.id.list1);
textView1 = findViewById(R.id.textView1);
//ArrayList 설정. data 하나로 담을(두개의 data는 hashmap으로 하나로 묶음.)
ArrayList<HashMap<String,String>> data_list = new ArrayList<>();
//ArrayList에 data 담기
for(int i=0; i<data1.length; i++){
HashMap<String, String> map = new HashMap<>();
map.put("str1",data1[i]);
map.put("str2",data2[i]);
data_list.add(map);
}
//hashap key랑 data 설정해서 adapter에 넣기
String[] keys = {"str1","str2"};
int [] ids = {android.R.id.text1, android.R.id.text2}; //미리 쓸 안드로이드 layout가봐서 text아이디 봐보기.
// ctrl키 누르면 링크나온다. 디자인화면창으로 이동가능.
//simple_list_item_2 layout확인.
//adapter listview에 setting
SimpleAdapter adapter = new SimpleAdapter(this, data_list,android.R.layout.simple_list_item_2,keys,ids);
list1.setAdapter(adapter);
//리스너 method setting
ListListener listener = new ListListener();
list1.setOnItemClickListener(listener); // list1 클릭하면 listenver 실행.
}
// finish @0verride
// listener method define
class ListListener implements AdapterView.OnItemClickListener{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
textView1.setText(data1[position]);
}
}
}
'open coding' 카테고리의 다른 글
open coding - fragment 기본 코딩 (0) | 2020.11.16 |
---|---|
open coding- 시스템 메시지- broadCastreceiver 이용 ex)부팅완료 Toast로 띄우기 / 수신메세지 Toast로 띄우기 (0) | 2020.11.13 |
Open coding- Intent 기본개념 코딩.(다른 Activity 실행하기) (0) | 2020.11.10 |
Spinner - adapter이용 - 회원가입, 게시판에 주로 이용 - open (0) | 2020.10.21 |
Custom Adapter - open (0) | 2020.10.20 |