camera.setOnClickListener {
navigatePhotos()
}
camera2.setOnClickListener {
navigatePhotos()
}
private fun navigatePhotos() {
val intent = Intent(Intent.ACTION_GET_CONTENT)
intent.type = "image/*"
startActivityForResult(intent, 2000)
}
카메라 아이콘 버튼을 누르게 되면 스마트폰의 갤러리로 이동하게 되는 기능이다. navigatePhoto() 함수에 암시적 인텐트를 사용하였다.
var infolist = arrayListOf<info>(
info(" 팔로우 설정", "folder"),
info(" 프로필 상태", "warning"),
info(" Mera Verified", "check_mark"),
info(" 보관함", "card_box"),
info(" 미리 보기", "eye"),
.
.
.
)
val listview = findViewById<ListView>(R.id.mainListView)
val adapter = Data(this, infolist)
listview.adapter = adapter
infolist에 프로필 설정에 나열될 배열들을 저장시켜 놓고 adapter를 이용하여 연결하였다.
class info(val list:String, val icon: String) {
}
짧지만 어댑터에 연결 할 때 그 안 데이터의 변수 이름과 자료형을 선언한다.
override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View {
val view: View = LayoutInflater.from(context).inflate(R.layout.custom_list, null)
val photo = view.findViewById<ImageView>(R.id.iv_custom1)
val text = view.findViewById<TextView>(R.id.tv_custom2)
val infolist = info[position]
val resourceId =
context.resources.getIdentifier(infolist.icon, "drawable", context.packageName)
text.setTextColor(Color.WHITE)
photo.setImageResource(resourceId)
text.text = infolist.list
return view
}
만든 custom_list.xml에 들어갈 데이터들을 받아 View에 출력해주는 기능이다.