Как скачать файл при нажатии ListItem? - PullRequest
0 голосов
/ 01 марта 2020

Я следил за серией видео о том, как извлечь данные из базы данных в просмотр списка. Это получилось работать отлично. Когда я нажимаю на уроки в ListView, открывается PDF-файл, когда я запускаю приложение на эмуляторе. Но когда я запускаю приложение на своем телефоне, когда я нажимаю на урок в ListView, открывается приложение GoogleMaps. Я не знаю, почему это происходит. Может кто-нибудь помочь мне с этой проблемой?

Это моя Структура базы данных

Это моя функция, чтобы отображать элементы базы данных в ListView

private void viewAllFiles()
    {
        databaseReference = FirebaseDatabase.getInstance().getReference("Lessons");
        databaseReference.orderByChild("subject_id").equalTo(subject_id).addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot)
            {
                for(DataSnapshot postSnapshot: dataSnapshot.getChildren()){
                    uploadPdf uploadPdf = postSnapshot.getValue(com.example.lmsclone.Model.uploadPdf.class);
                    uploadPdfs.add(uploadPdf);
                }
                String[] uploads = new String[uploadPdfs.size()];

                for(int i=0; i<uploads.length; i++)
                {
                    uploads[i] = uploadPdfs.get(i).getName();
                }

                ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, uploads){

                    @Override
                    public View getView(int position, View convertView, ViewGroup parent) {

                        View view = super.getView(position, convertView, parent);
                        TextView myText = (TextView) view.findViewById(android.R.id.text1);
                        myText.setTextColor(Color.BLACK);
                        return super.getView(position, convertView, parent);
                    }
                };
                myPdfListView.setAdapter(adapter);
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError)
            {

            }
        });

Это метод OnItemClick для загрузки PDF-файлов с использованием Url

myPdfListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            uploadPdf uploadPdf = uploadPdfs.get(position);

            Intent intent = new Intent();
            intent.setType(Intent.ACTION_VIEW);
            intent.setData(Uri.parse(uploadPdf.getUrl()));
            startActivity(intent);
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...