diff --git a/nick/Imreallystupid/app/build.gradle.kts b/nick/Imreallystupid/app/build.gradle.kts index 2e6d74c..fd5ebac 100644 --- a/nick/Imreallystupid/app/build.gradle.kts +++ b/nick/Imreallystupid/app/build.gradle.kts @@ -40,6 +40,7 @@ android { dependencies { + implementation("com.google.code.gson:gson:2.8.7") implementation(libs.androidx.core.ktx) implementation(libs.androidx.appcompat) implementation(libs.material) diff --git a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/Album.kt b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/Album.kt new file mode 100644 index 0000000..d08ed72 --- /dev/null +++ b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/Album.kt @@ -0,0 +1,9 @@ +package com.example.imreallystupid + +data class Album( + var title: String = "", + var singer: String = "", + var coverImg: Int? = null, + var songs: ArrayList? = null){ + +} \ No newline at end of file diff --git a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/AlbumFragment.kt b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/AlbumFragment.kt index 6ec4f5f..ce63b15 100644 --- a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/AlbumFragment.kt +++ b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/AlbumFragment.kt @@ -7,6 +7,7 @@ import android.view.ViewGroup import androidx.fragment.app.Fragment import com.example.imreallystupid.databinding.FragmentAlbumBinding import com.google.android.material.tabs.TabLayoutMediator +import com.google.gson.Gson class AlbumFragment : Fragment() { @@ -14,6 +15,7 @@ class AlbumFragment : Fragment() { lateinit var binding: FragmentAlbumBinding + private var gson: Gson = Gson() private val information = arrayListOf("수록곡","상세정보","영상") override fun onCreateView( @@ -23,8 +25,12 @@ class AlbumFragment : Fragment() { ): View { binding = FragmentAlbumBinding.inflate(inflater, container, false) - binding.albumTitleTv.text = arguments?.getString("title") - binding.albumSingerTv.text = arguments?.getString("singer") + //binding.albumTitleTv.text = arguments?.getString("title") + //binding.albumSingerTv.text = arguments?.getString("singer") + + val albumJson = arguments?.getString("album") + val album = gson.fromJson(albumJson, Album::class.java) + setinit(album) binding.albumBackIv.setOnClickListener { @@ -34,6 +40,7 @@ class AlbumFragment : Fragment() { val albumAdapter = AlbumVPAdapter(this) binding.albumContentVp.adapter = albumAdapter + TabLayoutMediator(binding.albumContentTb, binding.albumContentVp){ tab, position -> tab.text = information[position] @@ -41,4 +48,10 @@ class AlbumFragment : Fragment() { return binding.root } + + private fun setinit(album: Album){ + binding.albumAlbumIv.setImageResource(album.coverImg!!) + binding.albumTitleTv.text = album.title.toString() + binding.albumSingerTv.text = album.singer.toString() + } } \ No newline at end of file diff --git a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/AlbumRVAdapter.kt b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/AlbumRVAdapter.kt new file mode 100644 index 0000000..0a9820c --- /dev/null +++ b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/AlbumRVAdapter.kt @@ -0,0 +1,62 @@ +package com.example.imreallystupid + +import android.content.Context +import android.content.Intent +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import com.example.imreallystupid.databinding.ItemAlbumBinding + +class AlbumRVAdapter(private val albumlist: ArrayList): RecyclerView.Adapter() { + + + interface AlbumListItemClickListener{ + fun onItemClick(album: Album) + } + private lateinit var mItemClickListener: AlbumListItemClickListener + fun setMyItemClickListener(itemClickListener: AlbumListItemClickListener){ + mItemClickListener = itemClickListener + } + + + + interface AlbumPlayListener{ + fun changeText(album: Album) + } + private lateinit var sendMiniPlayer : AlbumPlayListener + + fun sendToMiniPlayer(sendTodayAlbum : AlbumPlayListener) { + sendMiniPlayer = sendTodayAlbum + } + + + + override fun onCreateViewHolder( + parent: ViewGroup, + viewType: Int + ): AlbumRVAdapter.ViewHolder { + val binding: ItemAlbumBinding = ItemAlbumBinding.inflate(LayoutInflater.from(parent.context), parent,false) + + return ViewHolder(binding) + } + + override fun onBindViewHolder(holder: AlbumRVAdapter.ViewHolder, position: Int) { + holder.bind(albumlist[position]) + holder.itemView.setOnClickListener { mItemClickListener.onItemClick(albumlist[position]) } + holder.binding.homeTodayAlbumArrowIv.setOnClickListener { sendMiniPlayer.changeText(albumlist[position]) } + // holder.binding.homeTodayAlbumTitleTv.setOnClickListener { mItemClickListner.onRemoveAlbum(position) } + } + + override fun getItemCount(): Int = albumlist.size + + + inner class ViewHolder(val binding: ItemAlbumBinding): RecyclerView.ViewHolder(binding.root){ + + fun bind(album: Album){ + binding.homeTodayAlbumTitleTv.text = album.title + binding.homeTodayAlbumSingerTv.text = album.singer + binding.homeTodayAlbumIv.setImageResource(album.coverImg!!) + } + } + +} \ No newline at end of file diff --git a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/HomeFragment.kt b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/HomeFragment.kt index 347aea8..6031c63 100644 --- a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/HomeFragment.kt +++ b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/HomeFragment.kt @@ -1,19 +1,21 @@ package com.example.imreallystupid -import android.content.Intent import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment +import androidx.recyclerview.widget.LinearLayoutManager import androidx.viewpager2.widget.ViewPager2 import com.example.imreallystupid.databinding.FragmentHomeBinding - +import com.google.gson.Gson class HomeFragment : Fragment() { lateinit var binding: FragmentHomeBinding + private var albumData = ArrayList() + override fun onCreateView( inflater: LayoutInflater, @@ -22,8 +24,8 @@ class HomeFragment : Fragment() { ): View { binding = FragmentHomeBinding.inflate(inflater, container, false) - - binding.homeTodayAlbumIv.setOnClickListener { + //3주차 코드 + /*binding.homeTodayAlbumTitleTv.setOnClickListener { val song = Song(binding.homeTodayAlbumTitleTv.text.toString(),binding.homeTodayAlbumSingerTv.text.toString()) val sendData = Bundle().also { it.putString("title",song.title) @@ -35,10 +37,43 @@ class HomeFragment : Fragment() { (context as MainActivity).supportFragmentManager.beginTransaction().replace(R.id.main_fragmentContainer, albumFragment).commitAllowingStateLoss() + }*/ + + albumData.apply { + add(Album("butter", "방탄소년단 (BTS)", R.drawable.img_album_exp)) + add(Album("Lilac", "아이유 (IU)", R.drawable.img_album_exp2)) + add(Album("Next Level", "에스파 (AESPA)", R.drawable.img_album_exp3)) + add(Album("Boy with Luv", "방탄소년단(BTS)", R.drawable.img_album_exp4)) + add(Album("BBoom BBoom", "모모랜드(MOMOLAND)", R.drawable.img_album_exp5)) + add(Album("Weekend", "태연 (Tae Yeon)", R.drawable.img_album_exp6)) } - val HomeAdaptor = HomeViewAdaptor(this) - binding.homeViewpagerVp.adapter = HomeAdaptor + val albumRVAdapter = AlbumRVAdapter(albumData) + binding.homeTodayAlbumRv.adapter = albumRVAdapter + binding.homeTodayAlbumRv.layoutManager = LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false) + + albumRVAdapter.setMyItemClickListener(object : AlbumRVAdapter.AlbumListItemClickListener{ + override fun onItemClick(album: Album) { + (context as MainActivity).supportFragmentManager.beginTransaction() + .replace(R.id.main_fragmentContainer, AlbumFragment().apply { + arguments = Bundle().apply { + val gson = Gson() + val albumJson = gson.toJson(album) + putString("album", albumJson) + } + }) + .commitAllowingStateLoss() + } + }) + + albumRVAdapter.sendToMiniPlayer(object : AlbumRVAdapter.AlbumPlayListener { + override fun changeText(album: Album) { + (activity as MainActivity).updateMiniPlayer(album) + } + }) + + val HomeAdapter = HomeViewAdapter(this) + binding.homeViewpagerVp.adapter = HomeAdapter binding.homeViewpagerVp.orientation = ViewPager2.ORIENTATION_HORIZONTAL return binding.root diff --git a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/HomeViewAdaptor.kt b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/HomeViewAdapter.kt similarity index 86% rename from nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/HomeViewAdaptor.kt rename to nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/HomeViewAdapter.kt index 93a308e..0ef6e0b 100644 --- a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/HomeViewAdaptor.kt +++ b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/HomeViewAdapter.kt @@ -3,7 +3,7 @@ package com.example.imreallystupid import androidx.fragment.app.Fragment import androidx.viewpager2.adapter.FragmentStateAdapter -class HomeViewAdaptor(fragment: Fragment) : FragmentStateAdapter(fragment) { +class HomeViewAdapter(fragment: Fragment) : FragmentStateAdapter(fragment) { override fun getItemCount(): Int = 3 override fun createFragment(position: Int): Fragment { diff --git a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/LockerFragment.kt b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/LockerFragment.kt index 5ac3761..b20627c 100644 --- a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/LockerFragment.kt +++ b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/LockerFragment.kt @@ -5,8 +5,11 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView import com.example.imreallystupid.databinding.FragmentLockerBinding import com.google.android.material.tabs.TabLayoutMediator +import com.google.gson.Gson class LockerFragment : Fragment() { @@ -29,6 +32,7 @@ class LockerFragment : Fragment() { tab.text = information[position] }.attach() + return binding.root } } diff --git a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/LockerRVAdapter.kt b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/LockerRVAdapter.kt new file mode 100644 index 0000000..2b7ce24 --- /dev/null +++ b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/LockerRVAdapter.kt @@ -0,0 +1,50 @@ +package com.example.imreallystupid + +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import com.example.imreallystupid.databinding.ItemLockerBinding + +class LockerRVAdapter( private val albumlist : ArrayList ) : RecyclerView.Adapter() { + + private lateinit var mItemClickListener: LockerRVAdapter.AlbumListItemClickListener + + interface AlbumListItemClickListener{ + fun onRemoveAlbum(position: Int) + } + + fun setMyItemClickListener(itemClickListener: LockerRVAdapter.AlbumListItemClickListener){ + mItemClickListener = itemClickListener + } + + fun removeitem(position: Int){ + albumlist.removeAt(position) + notifyDataSetChanged() + } + + override fun onCreateViewHolder( + parent: ViewGroup, + viewType: Int + ): LockerRVAdapter.ViewHolder { + val binding = ItemLockerBinding.inflate(LayoutInflater.from(parent.context),parent,false) + + return ViewHolder(binding) + } + + override fun onBindViewHolder(holder: LockerRVAdapter.ViewHolder, position: Int) { + holder.bind(albumlist[position]) + holder.binding.lockerSavedMoreIv.setOnClickListener { mItemClickListener.onRemoveAlbum(position) } + } + + override fun getItemCount(): Int = albumlist.size + + inner class ViewHolder(val binding: ItemLockerBinding) : RecyclerView.ViewHolder(binding.root) { + + fun bind(album: Album) { + binding.lockerSavedTitleTv.text = album.title + binding.lockerSavedSingerTv.text = album.singer + binding.lockerSavedCoverImgIv.setImageResource(album.coverImg!!) + } + } + +} \ No newline at end of file diff --git a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/LockerVPAdapter.kt b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/LockerVPAdapter.kt index 99687b2..0c6330f 100644 --- a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/LockerVPAdapter.kt +++ b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/LockerVPAdapter.kt @@ -6,7 +6,7 @@ import androidx.viewpager2.adapter.FragmentStateAdapter class LockerVPAdapter(fragment: Fragment) : FragmentStateAdapter(fragment) { override fun createFragment(position: Int): Fragment { return when(position) { - 0 -> LockerViewFragment1() + 0 -> SavedFragment() 1 -> LockerViewFragment2() else -> LockerViewFragment3() } diff --git a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/LockerViewFragment1.kt b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/LockerViewFragment1.kt deleted file mode 100644 index f37a8a3..0000000 --- a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/LockerViewFragment1.kt +++ /dev/null @@ -1,23 +0,0 @@ -package com.example.imreallystupid - -import android.os.Bundle -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import androidx.fragment.app.Fragment -import com.example.imreallystupid.databinding.FragmentLockerview1Binding - -class LockerViewFragment1 : Fragment() { - - lateinit var binding: FragmentLockerview1Binding - - override fun onCreateView( - inflater: LayoutInflater, - container: ViewGroup?, - savedInstanceState: Bundle? - ): View? { - binding = FragmentLockerview1Binding.inflate(inflater, container, false) - - return binding.root - } -} \ No newline at end of file diff --git a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/LockerViewFragment2.kt b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/LockerViewFragment2.kt index 334a4b7..b0a40ef 100644 --- a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/LockerViewFragment2.kt +++ b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/LockerViewFragment2.kt @@ -5,7 +5,6 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment -import com.example.imreallystupid.databinding.FragmentLockerview1Binding import com.example.imreallystupid.databinding.FragmentLockerview2Binding class LockerViewFragment2 : Fragment() { diff --git a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/LockerViewFragment3.kt b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/LockerViewFragment3.kt index 59b98f2..90fb603 100644 --- a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/LockerViewFragment3.kt +++ b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/LockerViewFragment3.kt @@ -5,7 +5,6 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment -import com.example.imreallystupid.databinding.FragmentLockerview1Binding import com.example.imreallystupid.databinding.FragmentLockerview3Binding class LockerViewFragment3 : Fragment() { diff --git a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/MainActivity.kt b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/MainActivity.kt index f9fe2ae..1fe4bf0 100644 --- a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/MainActivity.kt +++ b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/MainActivity.kt @@ -1,5 +1,6 @@ package com.example.imreallystupid +import android.content.Context import android.content.Intent import android.os.Bundle import android.widget.Toast @@ -7,14 +8,21 @@ import androidx.activity.result.ActivityResultLauncher import androidx.activity.result.contract.ActivityResultContracts import androidx.appcompat.app.AppCompatActivity import com.example.imreallystupid.databinding.ActivityMainBinding +import com.google.gson.Gson private lateinit var binding: ActivityMainBinding +private var albumData = ArrayList() class MainActivity : AppCompatActivity() { private lateinit var resultLauncher: ActivityResultLauncher + fun updateMiniPlayer(album: Album) { + binding.mainMiniplayerTitleTv.text = album.title + binding.mainMiniplayerSingerTv.text = album.singer + } + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityMainBinding.inflate(layoutInflater) @@ -24,6 +32,40 @@ class MainActivity : AppCompatActivity() { .replace(R.id.main_fragmentContainer, HomeFragment(), null) .commit() + binding.mainBottomnav.setOnItemSelectedListener { item -> + when(item.itemId) { + + R.id.main_bottomnav_home_it -> { + supportFragmentManager.beginTransaction() + .replace(R.id.main_fragmentContainer, HomeFragment()) + .commitAllowingStateLoss() + return@setOnItemSelectedListener true + } + + /*R.id.main_bottomnav_search_it -> { + supportFragmentManager.beginTransaction() + .replace(R.id.main_fragmentContainer, SearchFragment()) + .commitAllowingStateLoss() + return@setOnItemSelectedListener true + } + + R.id.main_bottomnav_look_it -> { + supportFragmentManager.beginTransaction() + .replace(R.id.main_fragmentContainer, LookFragment()) + .commitAllowingStateLoss() + return@setOnItemSelectedListener true + }*/ + + R.id.main_bottomnav_locker_it -> { + supportFragmentManager.beginTransaction() + .replace(R.id.main_fragmentContainer, LockerFragment()) + .commitAllowingStateLoss() + return@setOnItemSelectedListener true + } + } + false + } + resultLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> if (result.resultCode == RESULT_OK) { val data: Intent? = result.data diff --git a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/SavedFragment.kt b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/SavedFragment.kt new file mode 100644 index 0000000..0ba8ed0 --- /dev/null +++ b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/SavedFragment.kt @@ -0,0 +1,48 @@ +package com.example.imreallystupid + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import androidx.recyclerview.widget.LinearLayoutManager +import com.example.imreallystupid.databinding.FragmentSavedBinding +import com.google.gson.Gson + + +class SavedFragment : Fragment() { + + lateinit var binding: FragmentSavedBinding + + private var albumData = ArrayList() + + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + binding = FragmentSavedBinding.inflate(inflater, container, false) + + albumData.apply { + add(Album("butter", "방탄소년단 (BTS)", R.drawable.img_album_exp)) + add(Album("Lilac", "아이유 (IU)", R.drawable.img_album_exp2)) + add(Album("Next Level", "에스파 (AESPA)", R.drawable.img_album_exp3)) + add(Album("Boy with Luv", "방탄소년단(BTS)", R.drawable.img_album_exp4)) + add(Album("BBoom BBoom", "모모랜드(MOMOLAND)", R.drawable.img_album_exp5)) + add(Album("Weekend", "태연 (Tae Yeon)", R.drawable.img_album_exp6)) + } + + val lockerRVAdapter = LockerRVAdapter(albumData) + binding.lockerSavedVp.adapter = lockerRVAdapter + binding.lockerSavedVp.layoutManager = LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false) + + lockerRVAdapter.setMyItemClickListener(object : LockerRVAdapter.AlbumListItemClickListener{ + override fun onRemoveAlbum(position: Int) { + lockerRVAdapter.removeitem(position) + } + }) + + return binding.root + } +} \ No newline at end of file diff --git a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/SongActivity.kt b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/SongActivity.kt index 0554c53..9bf86c0 100644 --- a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/SongActivity.kt +++ b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/SongActivity.kt @@ -25,8 +25,6 @@ class SongActivity : AppCompatActivity() { binding = ActivitySongBinding.inflate(layoutInflater) setContentView(binding.root) - val resend = Intent(this, MainActivity::class.java) - binding.songDownIv.setOnClickListener { val resultIntent = Intent().apply { putExtra("reply", binding.songTitleTv.text.toString()) diff --git a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/SongFragment.kt b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/SongFragment.kt index 49bd260..38eec4d 100644 --- a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/SongFragment.kt +++ b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/SongFragment.kt @@ -5,6 +5,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment +import androidx.recyclerview.widget.LinearLayoutManager import com.example.imreallystupid.databinding.FragmentDetailBinding import com.example.imreallystupid.databinding.FragmentSongBinding @@ -12,6 +13,8 @@ import com.example.imreallystupid.databinding.FragmentSongBinding class SongFragment : Fragment() { lateinit var binding: FragmentSongBinding + private var albumData = ArrayList() + fun setToggleStatus(isPlaying : Boolean) { if(isPlaying) { binding.albumSongMixToggleOnIv.visibility = View.VISIBLE @@ -37,6 +40,19 @@ class SongFragment : Fragment() { setToggleStatus(false) } + albumData.apply { + add(Album("butter", "방탄소년단 (BTS)", R.drawable.img_album_exp)) + add(Album("Lilac", "아이유 (IU)", R.drawable.img_album_exp2)) + add(Album("Next Level", "에스파 (AESPA)", R.drawable.img_album_exp3)) + add(Album("Boy with Luv", "방탄소년단(BTS)", R.drawable.img_album_exp4)) + add(Album("BBoom BBoom", "모모랜드(MOMOLAND)", R.drawable.img_album_exp5)) + add(Album("Weekend", "태연 (Tae Yeon)", R.drawable.img_album_exp6)) + } + + val songAdapter = SongRVAdapter(albumData) + binding.albumSongRv.adapter = songAdapter + binding.albumSongRv.layoutManager = LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false) + return binding.root } diff --git a/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/SongRVAdapter.kt b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/SongRVAdapter.kt new file mode 100644 index 0000000..09fbb4e --- /dev/null +++ b/nick/Imreallystupid/app/src/main/java/com/example/imreallystupid/SongRVAdapter.kt @@ -0,0 +1,35 @@ +package com.example.imreallystupid + +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import com.example.imreallystupid.databinding.ItemSongBinding + +class SongRVAdapter(private val albumlist: ArrayList) : RecyclerView.Adapter() { + + override fun onCreateViewHolder( + parent: ViewGroup, + viewType: Int + ): SongRVAdapter.ViewHolder { + val binding = ItemSongBinding.inflate(LayoutInflater.from(parent.context), parent, false) + + return ViewHolder(binding) + } + + override fun onBindViewHolder(holder: SongRVAdapter.ViewHolder, position: Int) { + holder.bind(albumlist[position]) + } + + override fun getItemCount(): Int = albumlist.size + + + inner class ViewHolder(val binding: ItemSongBinding) : RecyclerView.ViewHolder(binding.root) { + + fun bind(album: Album) { + binding.albumSongTitleTv.text = album.title + binding.albumSongSingerTv.text = album.singer + } + } + + +} \ No newline at end of file diff --git a/nick/Imreallystupid/app/src/main/res/layout/fragment_album.xml b/nick/Imreallystupid/app/src/main/res/layout/fragment_album.xml index 63a45e9..8c4d675 100644 --- a/nick/Imreallystupid/app/src/main/res/layout/fragment_album.xml +++ b/nick/Imreallystupid/app/src/main/res/layout/fragment_album.xml @@ -69,8 +69,8 @@ android:layout_marginTop="5dp"/> + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools"> + app:layout_constraintEnd_toEndOf="parent"/> - + android:layout_marginStart="20dp"/>--> + + diff --git a/nick/Imreallystupid/app/src/main/res/layout/fragment_locker.xml b/nick/Imreallystupid/app/src/main/res/layout/fragment_locker.xml index 0cc0246..7277278 100644 --- a/nick/Imreallystupid/app/src/main/res/layout/fragment_locker.xml +++ b/nick/Imreallystupid/app/src/main/res/layout/fragment_locker.xml @@ -44,6 +44,7 @@ android:layout_height="match_parent" android:id="@+id/locker_viewpager_vp" app:layout_constraintTop_toBottomOf="@id/locker_tablayout_tb" - app:layout_constraintStart_toStartOf="parent"/> + app:layout_constraintStart_toStartOf="parent" + android:layout_marginTop="105dp"/> \ No newline at end of file diff --git a/nick/Imreallystupid/app/src/main/res/layout/fragment_lockerview1.xml b/nick/Imreallystupid/app/src/main/res/layout/fragment_saved.xml similarity index 63% rename from nick/Imreallystupid/app/src/main/res/layout/fragment_lockerview1.xml rename to nick/Imreallystupid/app/src/main/res/layout/fragment_saved.xml index 8e9d6d8..ec2310b 100644 --- a/nick/Imreallystupid/app/src/main/res/layout/fragment_lockerview1.xml +++ b/nick/Imreallystupid/app/src/main/res/layout/fragment_saved.xml @@ -4,13 +4,11 @@ android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto"> - + app:layout_constraintStart_toStartOf="parent"/> \ No newline at end of file diff --git a/nick/Imreallystupid/app/src/main/res/layout/fragment_song.xml b/nick/Imreallystupid/app/src/main/res/layout/fragment_song.xml index 05a79ab..cf0be22 100644 --- a/nick/Imreallystupid/app/src/main/res/layout/fragment_song.xml +++ b/nick/Imreallystupid/app/src/main/res/layout/fragment_song.xml @@ -46,4 +46,11 @@ + + \ No newline at end of file diff --git a/nick/Imreallystupid/app/src/main/res/layout/item_album.xml b/nick/Imreallystupid/app/src/main/res/layout/item_album.xml new file mode 100644 index 0000000..3aa934f --- /dev/null +++ b/nick/Imreallystupid/app/src/main/res/layout/item_album.xml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/nick/Imreallystupid/app/src/main/res/layout/item_locker.xml b/nick/Imreallystupid/app/src/main/res/layout/item_locker.xml new file mode 100644 index 0000000..05f5b0e --- /dev/null +++ b/nick/Imreallystupid/app/src/main/res/layout/item_locker.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/nick/Imreallystupid/app/src/main/res/layout/item_song.xml b/nick/Imreallystupid/app/src/main/res/layout/item_song.xml new file mode 100644 index 0000000..71c4f40 --- /dev/null +++ b/nick/Imreallystupid/app/src/main/res/layout/item_song.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + \ No newline at end of file