问题描述
我使用Picasso Image loader从Firebase数据库URL获得Imageview的加载图像。我希望在Firebase数据库URL为空时隐藏imageview。当时如何设置Imageview setVisibility。
我的代码是
LoadData(categoryId);
}
private void LoadData(String categoryId) {
options = new FirebaseRecyclerOptions.Builder<TrollModel>().setQuery(MCC,TrollModel.class).build();
adapter = new FirebaseRecyclerAdapter<TrollModel,TrollViewHolder>(options) {
@Override
protected void onBindViewHolder(@NonNull TrollViewHolder trollViewHolder,int i,@NonNull TrollModel trollModel) {
trollViewHolder.thrillername.setText(trollModel.getTitle());
Picasso.get().load(trollModel.getimage())
.into(trollViewHolder.thrillersimage);
trollViewHolder.setItemClickListner(new ItemClickListner() {
@Override
public void onClick(View view,int position,boolean isLongClick) {
Intent detailsIntent = new Intent(TrollActivity.this,TrollDetailActivity.class);
detailsIntent.putExtra("CategoryId",adapter.getRef(position).getKey());
startActivity(detailsIntent);
}
});
}
@NonNull
@Override
public TrollViewHolder onCreateViewHolder(@NonNull ViewGroup parent,int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.troll_items,parent,false);
return new TrollViewHolder(v);
}
};
adapter.startListening();
recyclerView.setAdapter(adapter);
}
}
解决方法
在Android中,每个setVisibility()
都有View
个功能。如果您以正确的方式在Google上搜索,就可以找到它。
请参考以下代码来解决您的问题。
if (trollModel.getImage().isEmpty()) {
trollViewHolder.thrillersimage.setVisibility(View.GONE);
} else {
trollViewHolder.thrillersimage.setVisibility(View.VISIBLE);
Picasso.get().load(trollModel.getImage())
.into(trollViewHolder.thrillersimage);
}