이번에는 게시글 수정,삭제를 글쓴 사람만 할수있게 해볼것이다
글쓴이의 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
이렇게 해주면 내가 쓴글의 색깔이 바뀌고 내가 쓴글만 수정,삭제할수있도록 되는것을 확인할수있다
'Android Project' 카테고리의 다른 글
예제 앱 만들기(2) - 데이터바인딩, 로그인, 로그아웃 (0) | 2024.01.30 |
---|---|
예제앱 만들기(1) - 파이어베이스 설정, 회원가입 (0) | 2024.01.30 |
[Android/Kotlin] 커뮤니티앱(11) - 로그아웃 (0) | 2024.01.28 |
[Android/Kotlin] 커뮤니티앱(10) - 게시글 삭제, 수정 (0) | 2024.01.28 |
[Android/Kotlin] 커뮤니티앱(9) - 게시글 이미지 업로드 (0) | 2024.01.28 |