inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)

리사이클러 뷰 안보임

333

wsong22

작성한 질문수 1

0

안녕하세요 개발자님! 왕초보편 수강하고있는 대학생입니다. 다름이아니라 개발자님의 앱 개발 왕초보편 강의 중 트로트 가수 앱 만들기를 조금 변형시켜서, 프래그먼트에서 객체 데이터를 전달받고 보여주는 리사이 클러 뷰를 만들어 보려고 했습니다.

근데 실행시켜 보니 딱히 오류는 뜨지 않지만, 리사이클러 뷰가 보이지 않는 현상을 겪고 있어서 질문드립니다!

도와주시면 감사하겠습니다!

 구글 드라이브 : https://drive.google.com/file/d/1hiygqt0gl78embhelzkivfPbgyDGb3WV/view?usp=drive_link

adapter

package com.wosong.musiclist

import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView

class RVAdapter(val context: MutableList<RVdata>) : RecyclerView.Adapter<RVAdapter.ViewHolder>(){
    var data = mutableListOf<RVdata>()
    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RVAdapter.ViewHolder {
        val view = LayoutInflater.from(parent.context).inflate(R.layout.rv_item,parent,false)
        return ViewHolder(view)
    }

    override fun onBindViewHolder(holder: RVAdapter.ViewHolder, position: Int) {
        holder.bindItems(data[position])
    }

    override fun getItemCount(): Int {
        return data.size
    }
    inner class ViewHolder(itemView : View) : RecyclerView.ViewHolder(itemView){
        fun bindItems(item : RVdata){
            val rv_text = itemView.findViewById<TextView>(R.id.rvTextId)
            rv_text.text = item.text
            val image = itemView.findViewById<ImageView>(R.id.itemimage)
            image.setImageResource(item.img)
        }
    }
}

 

data class

package com.wosong.musiclist

data class RVdata(
    val text : String,
    val img : Int
)

 

item_xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="50dp">
    <ImageView
    android:layout_width="50dp"
    android:layout_height="match_parent"
    android:src="@drawable/zino"
    android:id="@+id/itemimage"
        />

    <TextView
        android:layout_margin="10dp"
        android:textStyle="bold"
        android:text="List of songs"
        android:id="@+id/rvTextId"
        android:textSize="20sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
</LinearLayout>

 

fragment

package com.wosong.musiclist

import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import androidx.navigation.findNavController
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView


class sing1Fragment : Fragment() {
    // TODO: Rename and change types of parameters

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
    }

    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        // Inflate the layout for this fragment

        val view = inflater.inflate(R.layout.fragment_sing1, container, false)


        val items : MutableList<RVdata> = mutableListOf()
        items.add(RVdata(img = R.drawable.jazzyfact,text = "A tribe called jazzyfact"))
        items.add(RVdata(img = R.drawable.jazzyfact,text = "A tribe called jazzyfact"))
        items.add(RVdata(img = R.drawable.jazzyfact,text = "A tribe called jazzyfact"))

        val rv =  view.findViewById<RecyclerView>(R.id.JazzyFactView)
        val rvAdapter = RVAdapter(items)

        rv.adapter = rvAdapter
        rv.layoutManager = LinearLayoutManager(context)





        view.findViewById<ImageView>(R.id.image2).setOnClickListener{
            it.findNavController().navigate(R.id.action_sing1Fragment_to_sing2Fragment)
        }
        view.findViewById<ImageView>(R.id.image3).setOnClickListener{
            it.findNavController().navigate(R.id.action_sing1Fragment_to_sing3Fragment)
        }
        return view
    }




}

 

 

android kotlin firebase

답변 1

0

개복치개발자

image액세스 권한 확인부탁드려요~

0

wsong22

권한 수정 했습니다!

주사위앱 소개 및 레이아웃 설정 문제

0

60

2

안드로이드 에뮬레이터가 실행이 안 되요...ㅠ

0

105

2

30 강 소스 좀 올려 주십시요

0

81

2

onBackPressed 함수가 동영상 하고 다르게 동작합니다.

0

92

2

ListView 초기 실행 안됩니다.

0

96

2

코딩을 완료하고난후 앱 실행시 자동 종료

0

73

2

datavinding에서 오류가 납니다.

0

54

1

안드로이드 스튜디오 버전 차이로 초기 empyt activity 선택하면 안됩니다.

0

114

2

context의 구별에 대하여

0

70

2

"프롤로그에서 ..." 오류 관련해 직전 질문에 대한 추가 질문입니다.

0

70

2

"프롤로그에서 콘텐츠가 허용되지 않습니다." 오류

0

159

3

해결완료

1

188

2

databinding 설정후 run하면 에러(해결)

0

223

2

databinding 설정 이후 실행시 에러

0

274

4

안드로이드 입문하는 사람입니다.

0

71

1

Firebase uid

0

78

3

activity_main 화면 다름

0

116

2

강의화면과 다른데 맞게진행되는것인가요...????

0

107

2

파이어베이스 질문

0

76

2

ActivityMainBinding에 오류가 납니다

0

136

2

선생님 onBackPressed 작동이 안되는거 같습니다

0

119

2

>app>res>layout 이 존재하지 않습니다.

0

119

2

안드로이드 스튜디오 미어캣 버전 사용 한글 깨짐

0

750

2

안드로이드 스튜디오 오류 발생 시 대처 방법은 요?

0

289

2