Clone coding - detail

박재원·2024년 1월 4일
0

TIL

목록 보기
21/50
post-thumbnail
post-custom-banner

MainActivity

camera.setOnClickListener {
	navigatePhotos()
}
camera2.setOnClickListener {
    navigatePhotos()
}
    
private fun navigatePhotos() {
    val intent = Intent(Intent.ACTION_GET_CONTENT)
    intent.type = "image/*"
    startActivityForResult(intent, 2000)
}

카메라 아이콘 버튼을 누르게 되면 스마트폰의 갤러리로 이동하게 되는 기능이다. navigatePhoto() 함수에 암시적 인텐트를 사용하였다.

SettingProfile

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를 이용하여 연결하였다.

list.kt

class info(val list:String, val icon: String) {
}

짧지만 어댑터에 연결 할 때 그 안 데이터의 변수 이름과 자료형을 선언한다.

CustomAdapter.kt

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에 출력해주는 기능이다.

post-custom-banner

0개의 댓글