Данные не попадают в RecyclerView - PullRequest
0 голосов
/ 24 марта 2020

У меня есть два файла XML, один для RecyclerView и один для списка.

Я также создал файл java для адаптера и передаю данные через адаптер. но все же я не могу получить какие-либо данные в режиме переработки. Имя файла

RecycleViewAdapter. java

public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder> {

    private ArrayList<String> mUrl = new ArrayList<>();
    private  ArrayList<String> mTitle = new ArrayList<>();
    private ArrayList<String> mThumbnail = new ArrayList<>();
    private ArrayList<String> mArtist = new ArrayList<>();
    private ArrayList<Integer> mDuration = new ArrayList<>();
    private Context mContext;

    public RecyclerViewAdapter(Context mContext, ArrayList<String> mUrl, ArrayList<String> mTitle, ArrayList<String> mThumbnail, ArrayList<String> mArtist, ArrayList<Integer> mDuration) {
        this.mUrl = mUrl;
        this.mTitle = mTitle;
        this.mThumbnail = mThumbnail;
        this.mArtist = mArtist;
        this.mDuration = mDuration;
        this.mContext = mContext;
    }

    @Override
    public ViewHolder onCreateViewHolder( ViewGroup parent, int viewType) {

        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.listitem,parent,false);
        ViewHolder holder = new ViewHolder(view);
        return   holder;
    }

    @Override
    public void onBindViewHolder( ViewHolder holder, int position) {

        holder.url.setText(mUrl.get(position));
        holder.title.setText(mTitle.get(position));
        holder.thumbnail.setText(mThumbnail.get(position));
        holder.artist.setText(mArtist.get(position));
        holder.duration.setText(mDuration.get(position));

    }

    @Override
    public int getItemCount() {
        return mUrl.size();

    }

    public class ViewHolder extends RecyclerView.ViewHolder{

        TextView url,title,thumbnail,artist,duration;
        LinearLayout linear_layout;

        public ViewHolder(@NonNull View itemView) {
            super(itemView);

            url = itemView.findViewById(R.id.url);
            title = itemView.findViewById(R.id.title);
            thumbnail = itemView.findViewById(R.id.thumbnail);
            artist = itemView.findViewById(R.id.artist);
            duration = itemView.findViewById(R.id.duration);
            linear_layout = itemView.findViewById(R.id.linear_layout);
        }
    }
}


activity file.

MainActivity.java

public class MainActivity extends AppCompatActivity {

    //variable
    private ArrayList<String> mUrl = new ArrayList<>();
    private ArrayList<String> mTitle = new ArrayList<>();
    private ArrayList<String> mThumbnail = new ArrayList<>();
    private ArrayList<String> mArtist = new ArrayList<>();
    private ArrayList<Integer> mDuration = new ArrayList<>();


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        initlist();
    }
    private void initlist(){

        mUrl.add("https://r2---sn-po4g5uxa-5hql.googlevideo.com/videoplayback?expire=1584997691&ei=2tB4Xs3qOcC5z7sP0oWXwAU&ip=45.126.147.245&id=o-APwzA6uW38xyqt4gcTbNLvKLxPDI3kc5_ONMHB2lNX1T&itag=251&source=youtube&requiressl=yes&mh=bK&mm=31%2C29&mn=sn-po4g5uxa-5hql%2Csn-cvh7knek&ms=au%2Crdu&mv=m&mvi=1&pl=24&gcr=in&initcwndbps=558750&vprv=1&mime=audio%2Fwebm&gir=yes&clen=3075560&dur=190.661&lmt=1575231584914266&mt=1584975995&fvip=5&keepalive=yes&c=WEB&txp=5531432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cgcr%2Cvprv%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=ABSNjpQwRQIgfem9-pkWCeasUzdugtPQDD6rI0gp0h7pA3P_k2x2GqYCIQDdYfyca_dPqYbwuFMhgW5GQMP903HmzzDRY5B92tO1uw%3D%3D&sig=ADKhkGMwRgIhAMgJ8K_riI2XUg4nK9g-1HZcw-smzpBZX3y4Ep2aJcArAiEA_3dlN77kGlfIolG8J4z71m3lSMFTYYKjvW-JRycMDvQ=&ratebypass=yes");
        mTitle.add("talobrothers - Summer Air");
        mThumbnail.add("https://i.ytimg.com/vi/m_SSr-tbY_M/maxresdefault.jpg");
        mArtist.add("ItaloBrothers");
        mDuration.add(191);

        mUrl.add("https://r2---sn-po4g5uxa-5hql.googlevideo.com/videoplayback?expire=1584997692&ei=3NB4XvDCA7eF1Abtlotg&ip=45.126.147.245&id=o-ALYSl3b9eAC9WA5bHf7X7oVxWq43Xgi9GaNooOM4kS02&itag=251&source=youtube&requiressl=yes&mh=bK&mm=31%2C29&mn=sn-po4g5uxa-5hql%2Csn-cvh76nes&ms=au%2Crdu&mv=m&mvi=1&pl=24&gcr=in&initcwndbps=558750&vprv=1&mime=audio%2Fwebm&gir=yes&clen=3075560&dur=190.661&lmt=1575231584914266&mt=1584975995&fvip=5&keepalive=yes&c=WEB&txp=5531432&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cgcr%2Cvprv%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=ABSNjpQwRgIhAOpQL5p6C7UCBWYu_fEKKQtGwfMbrNHtE5nSLMPA_gnWAiEA0ETUrf2PhXBCwSdjWGYoRyw1u-5r2zC-qwi8GmnyWYM%3D&sig=ADKhkGMwRAIgUbWbic1s2PEW49IK69khOFMhC4ufbN2pFB6pcVNq2EkCIAu8FIZNC371A2AR_8lNMdCUjcmzRYXO1WrQ_RDmzsdA&ratebypass=yes");
        mTitle.add("Italobrothers - Summer Air (Official Video) [Ultra Music]");
        mThumbnail.add("https://i.ytimg.com/vi/m_SSr-tbY_M/maxresdefault.jpg");
        mArtist.add("ItaloBrothers");
        mDuration.add(191);

        mUrl.add("https://r1---sn-po4g5uxa-5hql.googlevideo.com/videoplayback?expire=1584997693&ei=3dB4XtvZB5HEoQPgtpmgDQ&ip=45.126.147.245&id=o-AEVPi_5kBDJU1x1r1ndbLNh25qgE14jXKzv2EwYavMpX&itag=251&source=youtube&requiressl=yes&mh=4t&mm=31%2C29&mn=sn-po4g5uxa-5hql%2Csn-cvh76nek&ms=au%2Crdu&mv=m&mvi=0&pl=24&initcwndbps=558750&vprv=1&mime=audio%2Fwebm&gir=yes&clen=3402449&dur=208.001&lmt=1507082071751187&mt=1584975995&fvip=1&keepalive=yes&beids=9466587&c=WEB&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=ABSNjpQwRQIgYSOD_0fhjGmS-qpONKPHUWWpTPOfDrRKAc102HwS6-kCIQDI0T-M_fp6krxOl51BYBO574vn19gzoV5Dytk4yHThWg%3D%3D&sig=ADKhkGMwRQIgQY0Gf9QthAjtb0Tg_QhvlMvFQvO9Fx-flc3Yp_sCRNMCIQDKj8_V5GuYRZr7dbJcU68ihaE-_k2NA6DaOG11Ii1uGA==&ratebypass=yes");
        mTitle.add("ItaloBrothers - Summer Air (DJ Gollum feat. DJ Cap UK Remix Video Edit)");
        mThumbnail.add("https://i.ytimg.com/vi/3nLA-X54o0c/hqdefault.jpg");
        mArtist.add("ItaloBrothers");
        mDuration.add(208);

        mUrl.add("https://r1---sn-po4g5uxa-5hql.googlevideo.com/videoplayback?expire=1584997694&ei=3tB4XoWSDLGjmgfGhJjoCg&ip=45.126.147.245&id=o-AEWGarB_uYTUcrQ6cHy0w-a-t1IExhonzmi9tTjiJz4I&itag=251&source=youtube&requiressl=yes&mh=4t&mm=31%2C29&mn=sn-po4g5uxa-5hql%2Csn-cvh7knek&ms=au%2Crdu&mv=m&mvi=0&pl=24&initcwndbps=558750&vprv=1&mime=audio%2Fwebm&gir=yes&clen=3402449&dur=208.001&lmt=1507082071751187&mt=1584975995&fvip=1&keepalive=yes&c=WEB&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=ABSNjpQwRQIgG9oqd17XbrVCc5CYMkEm4twc-Z4W1bWOTvVmB3JZDJcCIQC7yrzlmOBqqkdfOiZyNgm8GQ1XWbjCKMwcbPpPs8vt_Q%3D%3D&sig=ADKhkGMwRAIgb0qZqoCFeF0vY0AyIqCo6zLJ5tHsq3aEAOtrc10y6qYCICEmbqc1JYqwCSf1vKv0z8w6x_AAiHwsVhfvlszpZKdm&ratebypass=yes");
        mTitle.add("taloBrothers - Summer Air (DJ Gollum feat. DJ Cap UK Remix Video Edit)");
        mThumbnail.add("\"https://i.ytimg.com/vi/3nLA-X54o0c/hqdefault.jpg");
        mArtist.add("ItaloBrothers");
        mDuration.add(208);

        mUrl.add("https://manifest.googlevideo.com/api/manifest/dash/expire/1584997695/ei/39B4Xr-yCdbx4-EP9raRiAI/ip/45.126.147.245/id/8af090be9682988e/source/youtube/requiressl/yes/playback_host/r2---sn-po4g5uxa-5hql.googlevideo.com/mh/9w/mm/31%2C29/mn/sn-po4g5uxa-5hql%2Csn-cvh7kney/ms/au%2Crdu/mv/m/mvi/1/pl/24/hfr/all/as/fmp4_audio_clear%2Cwebm_audio_clear%2Cwebm2_audio_clear%2Cfmp4_sd_hd_clear%2Cwebm2_sd_hd_clear/initcwndbps/558750/vprv/1/mt/1584975995/fvip/2/keepalive/yes/itag/0/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Chfr%2Cas%2Cvprv%2Citag/sig/ADKhkGMwRAIgTfuoEimhtkJQ6edMpA_PU7NLqXvnkg7ZoqY4VxPyrhQCIAf4H-xpvYBoYRTLqRwzNVQ-BA2ylMbVqTsJZttzHdAY/lsparams/playback_host%2Cmh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps/lsig/ABSNjpQwRgIhAN7D07D1Zsv_Bo5T9bb-vDA0YlZE3kJAX_TADpaaj3DrAiEAtcq_95rtaczIrO0iEwVTnOUzsmImL5lIxx10ESw0yK8%3D");
        mTitle.add("Italobrothers - Summer Air [ Lyrics ]");
        mThumbnail.add("https://i.ytimg.com/vi/ivCQvpaCmI4/hqdefault.jpg");
        mArtist.add("ItaloBrothers");
        mDuration.add(180);

        initrecyclerview();
    }

    private void initrecyclerview(){

        RecyclerView recyclerView = findViewById(R.id.recyclerview);
        RecyclerViewAdapter adapter = new RecyclerViewAdapter(this, mUrl, mTitle, mThumbnail,mArtist, mDuration);
        recyclerView.setHasFixedSize(true);
        recyclerView.setAdapter(adapter);
        recyclerView.setLayoutManager(new LinearLayoutManager(this));
    }
}

введите описание изображения здесь

1 Ответ

1 голос
/ 24 марта 2020

После изучения вашего кода, я полагаю, что вы сталкиваетесь с кражей sh при привязке ваших данных к адаптеру переработчика. Вы пытаетесь связать целое число ( Duration ) с TextView, который принимает только строки. Поэтому вы должны использовать String.format следующим образом:

holder.duration.setText(String.format("%d",mDuration.get(position)));

Пожалуйста, проверьте это, и если вы работаете в исключительной ситуации, пожалуйста, опубликуйте его как ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...