我制作了一个带有片段的mediaplayer应用;歌曲,专辑,艺术家,流派,播放列表这是我的片段之一中的代码,我将以Artists为例@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment View rootView = inflater.inflate(R.layout.fragment_tab3, container, false); recyclerViewArtists = rootView.findViewById(R.id.recyclerViewArtists); initRecyclerView(); return rootView;}private void initRecyclerView(){ items = Main.songs.getArtists(); if ((items != null) && (! items.isEmpty())) { adapter = new Adapter(getContext(), items); recyclerViewArtists.setLayoutManager(new LinearLayoutManager(getActivity())); recyclerViewArtists.setHasFixedSize(true); recyclerViewArtists.setAdapter(adapter); Log.i(TAG, "Artists found in list!"); recyclerViewArtists.addOnItemTouchListener(new OnItemClickListeners(getContext(), new OnItemClickListeners.OnItemClickListener() { @TargetApi(Build.VERSION_CODES.O) @Override public void onItemClick(View view, int position) { Toast.makeText(getContext(), "You Clicked position: " + position + " " + items.get(position) , Toast.LENGTH_SHORT).show(); if (! Main.songs.isInitialized()){ return; }在我的initRecyclerView()方法中,我有一个名为“ items”的数组列表,用于保存歌曲艺术家。Main.songs.getArtist-> Main是一个类,它包含一个称为“ songs”的公共静态数组列表,并且该数组列表使用模型类Song来保存setter和getters(getArtists();)现在,当用户单击艺术家时,另一个活动将启动ListSongsActivity.java我的问题从这里开始,所以说我们从列表中选择Artist A-> ListSongsActivity开始-> ex。播放3位艺术家A演唱的歌曲。然后,当我按“后退”按钮返回时,选择“歌手B”并单击其中一首歌曲,它仍会播放歌手“ A”的歌曲。出于某种原因,我在应用程序中的所有recyclerviews仅被歌手A的歌曲覆盖。即使在显示所有歌曲的第一个片段中,当我单击其中的歌曲时,它也只会播放我在“艺术家”标签中选择的艺术家的歌曲,而当位置超过3时选择另一首歌曲时,它会崩溃。当我单击后退按钮时,如何更新我的回收站视图?如果您不理解我的文章,我将在github的保管箱中添加代码,以便您自己进行测试。
添加回答
举报
0/150
提交
取消