我没有在我的Android回收站视图中看到mp3文件名,而是看到了他们的链接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我没有在我的Android回收站视图中看到mp3文件名,而是看到了他们的链接相关的知识,希望对你有一定的参考价值。

在我的android回收站视图中,我没有看到我想从firebase实时数据库中检索的mp3文件名。而不是我看到的那个mp3链接。怎么纠正这个?

我在firebase文件存储中上传了一些mp3文件,这些mp3文件链接添加到我的Firebase实时数据库中。当我在Android回收站视图中检索文件及其描述时,我正在获取mp3文件的链接。但不是文件名。

卡片视图的XML代码,其中包含2个文本视图:

<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:background="#b7c8e9"
        >

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="song_file_name"
            android:id="@+id/song_name"/>
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="song_description"
            android:id="@+id/song_desc"/>

    </LinearLayout>

</android.support.v7.widget.CardView>

查看持有者java代码:

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.TextView;


public class SongViewHolder extends RecyclerView.ViewHolder {

    View mView;

    public SongViewHolder(View itemView) {
        super(itemView);
        mView = itemView;
    }

    public void setDetails(Context ctx, String song, String description){
        TextView mSongTv = mView.findViewById(R.id.song_name);
        TextView mSongDescTv = mView.findViewById(R.id.song_desc);

        mSongTv.setText(song);
        mSongDescTv.setText(description);
    }

}

@Override
    protected void onStart() {
        super.onStart();
        FirebaseRecyclerAdapter<SongModel, SongViewHolder> firebaseRecyclerAdapter =
                new FirebaseRecyclerAdapter<SongModel, SongViewHolder>(
                        SongModel.class,
                        R.layout.song_row,
                        SongViewHolder.class,
                        mRef
                ) {
                    @Override
                    protected void populateViewHolder(SongViewHolder viewHolder, SongModel model, int position) {

                        viewHolder.setDetails(getApplicationContext(), model.getSong(), model.getDescription());
                    }
                };
        mrecyclerView.setAdapter(firebaseRecyclerAdapter);

    }

我还为歌曲和描述领域创建了getters setters。

我需要显示mp3歌曲名称。不是它的链接,因为后来我需要点击它们并播放。但我在我的Recycler视图输出中看到了mp3链接。

DB Structure

Output coming with files link

答案

您的代码没有任何问题。数据库中的歌曲字段具有歌曲URL。因此URL显示在recyclerView中。您也可以将mp3等元数据添加到数据库中。之后,您可以根据需要显示它们。

以上是关于我没有在我的Android回收站视图中看到mp3文件名,而是看到了他们的链接的主要内容,如果未能解决你的问题,请参考以下文章

使用回收视图时无法在Android模拟器中看到应用栏

如何将按钮放在回收站视图的顶部?

在 Android 回收站视图中重新排序项目后,位置未更新

片段在我的回收站视图中表现得很奇怪

Recycler View Android中的Firestore数据[重复]

回收站视图位置