open coding
Tow Line ListView - simpleAdapter 이용 - open
◀ ▷ ▶ ♤ ♠ ♡ ♥ ♧ ♣ ⊙e
2020. 10. 18. 04:00
반응형
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]);
}
}
}