我正在从firebase
获取PDF
并借助Listview
显示,但是当我单击查看PDF
button
时,列表没有显示出来。
请让我知道代码中有什么问题。这真的很有帮助。上传按钮工作县仅视图button
什么都没有显示。
以下是我的代码:
public class View_life_science_pdf extends AppCompatActivity
{
ListView lifesciencepdflist;
DatabaseReference databaseReference;
List<UploadPDF> uploadPDFS;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view_life_science_pdf);
lifesciencepdflist = findViewById(R.id.life_science_pdfs);
uploadPDFS = new ArrayList<>();
viewAllFiles();
lifesciencepdflist.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
UploadPDF uploadPDF = uploadPDFS.get(position);
Intent intent = new Intent();
intent.setData(Uri.parse(uploadPDF.getUrl()));
startActivity(intent);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
private void viewAllFiles() {
databaseReference = FirebaseDatabase.getInstance().getReference("uploads_Life_science_jour");
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for(DataSnapshot postSnapshot : dataSnapshot.getChildren()){
UploadPDF uploadPDF = postSnapshot.getValue(com.example.publications.UploadPDF.class);
uploadPDFS.add(uploadPDF);
}
String[] uploads = new String[uploadPDFS.size()];
for (int i=0;i<uploads.length;i++)
{
uploads[i]= uploadPDFS.get(i).getPdfname();
}
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;
}
} ;
lifesciencepdflist.setAdapter(adapter);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
}
当前代码没有任何点击功能。因此,仅当加载应用程序屏幕时,它才会显示。如果您只想在用户单击按钮时要获取,则需要添加onclicklistener
并将其连接到按钮