본문 바로가기

Android Project

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

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

 

글쓴이의 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

 

 

 

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