【发布时间】:2020-09-22 13:41:01
【问题描述】:
当我单击从数据库中检索的文件时,它只会下载。我想从我的移动设备中的 PDF 查看器中打开它
我不知道我应该如何以及在哪里更改或替换代码
这是列表视图
这是我用来开发的代码
public class ViewFiles extends AppCompatActivity {
//Variables
ListView myViewFiles;
DatabaseReference databaseReference;
List<String> detail;
List<uploadFiles> uploadDOCS;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view_files);
//Displaying the toolbar
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
//Assigning all the Variables to ID
myViewFiles = (ListView) findViewById(R.id.myViewFiles);
uploadDOCS = new ArrayList<uploadFiles>();
detail = new ArrayList<>();
viewAllFiles();
//On click option for the list view and open it from pdf
myViewFiles.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
uploadFiles uploadFiles = uploadDOCS.get(position);
//Intent intent = new Intent(ViewFiles.this, ViewPdfFiles.class);
Intent intent = new Intent();
intent.setType(Intent.ACTION_VIEW);
intent.setData(Uri.parse(uploadFiles.getUrl()));
startActivity(intent);
}
});
}
//View files which in databse
private void viewAllFiles() {
databaseReference = FirebaseDatabase.getInstance().getReference("HNDIT").child("1st Year 2nd Sem").child("OOP");
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot postSnapshot: dataSnapshot.getChildren()){
uploadFiles uploadFiles = postSnapshot.getValue(com.example.lms.fileupload.uploadFiles.class);
uploadDOCS.add(uploadFiles);
}
String[] uploads = new String[uploadDOCS.size()];
for (int i=0; i < uploads.length; i++){
uploads[i] = uploadDOCS.get(i).getName();
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_list_item_1,uploads){
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
View view = super.getView(position, convertView, parent);
TextView myText = (TextView) view.findViewById(android.R.id.text1);
myText.setTextColor(Color.BLACK);
return view;
}
};
myViewFiles.setAdapter(adapter);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
}
我该如何解决这个问题
有没有办法在app里面打开
【问题讨论】:
标签: java android firebase pdf viewer