본문 바로가기
Android Project/Extras..

[Android/Kotlin] 커뮤니티앱(12) - 내가 쓴글만 수정,삭제 가능하도록

by juwon2 2024. 1. 28.

이번에는 게시글 수정,삭제를 글쓴 사람만 할수있게 해볼것이다

 

글쓴이의 uid와 현재 나의 uid가 같으면 햄버거바를 보여줘서 수정,삭제를 할수있는 버튼이 뜨도록 할것이다

 

 

일단 레이아웃에 가서 visibility = "invisible" 로 설정해서 햄버거바 이미지뷰를 기본적으로 안보이게 설정해준다 

그리고 BoardInsideActivity로 가서 현재내 uid와 글쓴사람의 uid가 같으면 햄버거바를 보여주고, 같지 않으면 햄버거바를 보여주지 않도록 아래와같이 코드를 작성해준다

// board데이터 받아오는 함수
private fun getBoardData(key : String){

    // 데이터 가져오기
    val postListener = object : ValueEventListener {
        override fun onDataChange(dataSnapshot: DataSnapshot) {

            // try문에서 에러발생하면 catch문 실행
            try {

                //데이터 받아오기
                val dataModel = dataSnapshot.getValue(BoardModel::class.java)

                // 레이아읏과 연결
                binding.titleArea.text = dataModel!!.title   // titleArea와 BoardModel 연결
                binding.textArea.text = dataModel!!.content  // textArea와 BoardModel 연결
                binding.timeArea.text = dataModel!!.time     // timeArea와 BoardModel 연결


                val myUid = FBAuth.getUid()  // 현재 내 uid
                val writerUid = dataModel.uid // 글쓴사람의 uid

                // 글쓴사람만 게시글 수정, 삭제 가능하도록
                // 현재 내 uid와 글쓴사람의 uid가 같다면
                if(myUid.equals(writerUid)){
                    // 햄버거버튼 보이게
                    binding.boardSettingIcon.isVisible = true

                }else{
                
                }


            } catch (e: Exception){
                Log.d(TAG, "삭제완료")
            }

        }

BoardInsideActivity.kt

 

 

그리고 내가 작성한 글을 더 잘 알아볼수있도록 하기위해 내가 쓴글의 백그라운드 색상을 변경해줄것이다

아래와같이 코드를 추가해준다 

val itemLinearLayoutView = view?.findViewById<LinearLayout>(R.id.itemView)
// 내가 작성한 글의 백그라운드 색상바뀌게
if (boardList[position].uid.equals(FBAuth.getUid())){
    itemLinearLayoutView?.setBackgroundColor(Color.parseColor("#ffa500"))
}

BoardListLVAdapter.kt

 

 

 

이렇게 해주면 내가 쓴글의 색깔이 바뀌고 내가 쓴글만 수정,삭제할수있도록 되는것을 확인할수있다