我已将pdf文件上传到Firebase,并且还可以在列表视图中检索它,但是当我单击列表视图文件时,它将无法打开
我已将pdf文件上传到Firebase,并且还可以在列表视图中检索它,但是当我单击列表视图文件时,它将无法打开
我已将pdf文件上传到Firebase,并且还可以在列表视图中检索它,但是当我单击列表视图文件时,它将无法打开
package com.example.studentcoordinator;
import android.content.Intent;
import android.graphics.Color;
import android.net.Uri;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import java.util.ArrayList;
import java.util.List;
public class Viewuploadedfiles extends AppCompatActivity {
ListView viewuploadedfiles;
DatabaseReference databaseReference;
List<uploadPdf> uploadPdfs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_viewuploadedfiles);
viewuploadedfiles = findViewById(R.id.listuploadedfiles);
uploadPdfs = new ArrayList<>();
viewAllFiles();
viewuploadedfiles.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.CATEGORY_OPENABLE);
intent.setData(Uri.parse(uploadPdf.getUrl()));
startActivity(intent);
}
});
}
private void viewAllFiles() {
databaseReference = FirebaseDatabase.getInstance().getReference("uploads");
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
uploadPdf uploadPdf = postSnapshot.getValue(com.example.studentcoordinator.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 = view.findViewById(android.R.id.text1);
myText.setTextColor(Color.BLACK);
return view;
}
};
viewuploadedfiles.setAdapter(adapter);
}
;
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
}
它应该打开列表视图中列出的PDF文件,而不是在以前的活动中重定向我
答案 0 :(得分:0)
您的意图似乎不是指导PDF使用读取PDF文件的应用程序或使用PDF文件的网站打开。这就是为什么它只是回到上一个活动。
要在浏览器中打开pdf,
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(pdf_url));
startActivity(browserIntent);