的圖片我有我的數據庫是:顯示在ListView一個TextView和火力地堡
我想所有的數據顯示成一個ListView,我沒有錯誤,但沒有顯示我的文字和圖片。我有一個ModelClass:
public class ModelClass {
String title,image;
public ModelClass(String title,String image) {
this.image = image;
this.title = title;
}
public ModelClass() {
}
public String getTitle() {return title; }
public void setTitle(String title) {
this.title = title;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}}
適配器:
public class MyAdapter extends ArrayAdapter<ModelClass> {
private Activity context;
private int resource;
private List<ModelClass> listImage;
public MyAdapter(@NonNull Activity context, @LayoutRes int resource, @NonNull List<ModelClass> objects) {
super(context, resource, objects);
this.context = context;
this.resource = resource;
listImage = objects;
}
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
View v = inflater.inflate(resource, null);
TextView tvName = (TextView) v.findViewById(R.id.txt_desert);
ImageView img = (ImageView) v.findViewById(R.id.iv_desert);
tvName.setText(listImage.get(position).getTitle());
Glide.with(context).load(listImage.get(position).getImage()).into(img);
return v;
}}
哪裏是ListView控件類:
public class Deserturi extends AppCompatActivity {
private DatabaseReference mDatabaseRef;
private List<ModelClass> imgList;
private ListView lv;
private MyAdapter myAdapter;
private ProgressDialog progressDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_deserturi);
imgList = new ArrayList<>();
lv = (ListView) findViewById(R.id.blog_list);
progressDialog = new ProgressDialog(this);
progressDialog.setMessage("Please wait loading list image...");
progressDialog.show();
mDatabaseRef = FirebaseDatabase.getInstance().getReference("Data");
mDatabaseRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
progressDialog.dismiss();
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
ModelClass img = snapshot.getValue(ModelClass.class);
imgList.add(img);
}
myAdapter = new MyAdapter(Deserturi.this, R.layout.design_row, imgList);
lv.setAdapter(myAdapter);
}
@Override
public void onCancelled(DatabaseError databaseError) {
progressDialog.dismiss();
}
});
能否請你告訴我,我做錯了什麼?由於
你已經包括了JSON樹的圖片在你的問題。請將實際的JSON替換爲文本,您可以通過單擊Firebase數據庫控制檯中的導出JSON鏈接輕鬆獲取該文本。將JSON作爲文本可以搜索,使我們能夠輕鬆使用它來測試您的實際數據,並將其用於我們的答案中,並且通常只是一件好事。 –