드뎌 공유하기 다이얼로그의 마지막 버튼인!! 일련번호 복사!!!
되게되게 간단하다!!!!!
이게 다임!!
//우선 변수 선언
private var serialNumber: Int? = null
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
//serialNumber 값을 먼저 초기화해주기
initDefaultFeed()
}
private fun initDefaultFeed() {
lifecycleScope.launch {
val realProfileId = arguments?.getInt("realProfileId", -1)
try {
val response: Response<GetAllProfile> = withContext(Dispatchers.IO) {
RetrofitClient.mainProfile.getDataAll(realProfileId!!.toLong())
}
if (response.isSuccessful) {
val responseData: GetAllProfile? = response.body()
Log.d("GETALL 성공~~", "응답 데이터: $responseData")
// API 응답에서 serialNumber 값을 받아와서 초기화합니다.
serialNumber = responseData?.result?.serialNumber
Log.d("씨리얼", serialNumber.toString())
} else {
val errorBody = response.errorBody()?.string() ?: "No error body"
Log.e(
"GETALL 요청 실패",
"응답코드: ${response.code()}, 응답메시지: ${response.message()}, 오류 내용: $errorBody"
)
}
} catch (e: Exception) {
Log.e("GETALL 요청 실패", "에러: ${e.message}")
}
}
}
binding.numberPasteBtn.setOnClickListener {
//뒤에 복사하는 데이터 넣어주기
val clip = ClipData.newPlainText("클립보드 복사", serialNumber.toString())
//ClipboardManager 객체 가져옴
val clipboard: ClipboardManager = context?.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
//ClipboardManager의 setPrimaryClip() 메서드를 사용하여 클립보드에 ClipData를 설정
//클립보드에 복사한 텍스트 데이터가 저장
clipboard.setPrimaryClip(clip)
//복사후 토스트 메세지 띄우기
Toast.makeText(requireContext(), "클립보드에 복사되었습니다.", Toast.LENGTH_SHORT).show()
}