我制作了一個帶有片段的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
提交
取消