android recylerview不显示firebase数据
我正在尝试从另一个firebase项目检索数据,但数据未显示在recylerview中。我没有收到任何错误,只是一张空白的卡片。有人能帮我解决这个问题吗。我的代码如下android recylerview不显示firebase数据,android,firebase,android-recyclerview,Android,Firebase,Android Recyclerview,我正在尝试从另一个firebase项目检索数据,但数据未显示在recylerview中。我没有收到任何错误,只是一张空白的卡片。有人能帮我解决这个问题吗。我的代码如下 // This my code public class ExampleFragment extends Fragment { LinearLayout linearLayoutWithoutItems,linearLayoutNoConnection; View rootView; private
// This my code
public class ExampleFragment extends Fragment {
LinearLayout linearLayoutWithoutItems,linearLayoutNoConnection;
View rootView;
private RecyclerView recyclerView;
private Adapter1 aAdapter;
ImageButton menu_click;
ImageView imageView;
//Variables
NavigationView navigationView;
Toolbar toolbar;
Menu menu;
LinearLayout linearLayout;
TextView textView;
BottomNavigationView bottomNavigationView;
private DatabaseReference databaseReference;
private ArrayList<Model_Information> myUploads;
FirebaseStorage firebaseStorage;
StorageReference storageReference;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
rootView =inflater.inflate(R.layout.fragment_example, container, false);
init();
return rootView;
}
public void init()
{
recyclerView = rootView.findViewById(R.id.WithItems_recyclerview);
linearLayoutWithoutItems = rootView.findViewById(R.id.WithoutItems);
linearLayoutNoConnection = rootView.findViewById(R.id.no_connection);
RecyclerView.LayoutManager layoutManager = new GridLayoutManager(getContext(),1);
recyclerView.setLayoutManager(layoutManager);
myUploads = new ArrayList<Model_Information>();
aAdapter = new Adapter1(getContext(), myUploads);
recyclerView.setAdapter(aAdapter);
aAdapter.notifyDataSetChanged();
databaseReference = FirebaseDatabase.getInstance("https://liou-43081.firebaseio.com").getReference().child("Post");
if (InternetConnection.checkConnection(getContext())) {
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if(dataSnapshot.exists()){
//progressBar.setVisibility(View.GONE);
for (DataSnapshot postsnapshot : dataSnapshot.getChildren()) {
Model_Information upload=postsnapshot.getValue(Model_Information.class);
//myUploads.clear();
myUploads.add(upload);
aAdapter = new Adapter1(getContext(), myUploads);
recyclerView.setAdapter(aAdapter);
aAdapter.notifyDataSetChanged();
recyclerView.invalidate();
}
linearLayoutWithoutItems.setVisibility(View.GONE);
recyclerView.setVisibility(View.VISIBLE);
aAdapter.notifyDataSetChanged();
}else{
linearLayoutWithoutItems.setVisibility(View.VISIBLE);
recyclerView.setVisibility(View.GONE);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Toast.makeText(getContext(), databaseError.getMessage(), Toast.LENGTH_LONG).show();
}
});
} else {
linearLayoutNoConnection.setVisibility(View.VISIBLE);
linearLayoutWithoutItems.setVisibility(View.GONE);
recyclerView.setVisibility(View.GONE);
}
//Adapter1.class
public class Adapter1 extends RecyclerView.Adapter<Adapter1.ImageViewHolder>{
private Context mContext;
private ArrayList<Model_Information> users;
DatabaseReference databaseReference;
public Adapter1(Context context, ArrayList<Model_Information> uploads){
mContext = context;
users = uploads;
}
@NonNull
@Override
public ImageViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View V = LayoutInflater.from(mContext).inflate(R.layout.cardview1, parent, false);
return new ImageViewHolder(V);
}
@Override
public void onBindViewHolder(@NonNull final ImageViewHolder holder, final int position) {
//String uploadCurrent=users.get(position).getmImageUrl();
Glide.with(mContext).load(users.get(position).getmImageUrl()).thumbnail(0.05f).transition(DrawableTransitionOptions.withCrossFade()).fitCenter().centerInside().into(holder.imageView);
holder.imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Toast.makeText(mContext,users.get(position).getCategory(), Toast.LENGTH_LONG).show();
Long l= Long.valueOf(1);
databaseReference = FirebaseDatabase.getInstance("https://louie-43081.firebaseio.com").getReference("Clicks_and_Views").child(users.get(position).id);
databaseReference.child("views").setValue(ServerValue.increment(l));
/*
Intent intent=new Intent(mContext,ViewActivity.class);
intent.putExtra("website",users.get(position).getWebsiteurl());
intent.putExtra("action",users.get(position).getAction());
intent.putExtra("image",users.get(position).getmImageUrl());
intent.putExtra("id",users.get(position).id);
mContext.startActivity(intent);
*/
}
});
}
@Override
public int getItemCount() {
return users.size();
}
public class ImageViewHolder extends RecyclerView.ViewHolder{
public ImageView imageView;
public ImageViewHolder(@NonNull View itemView) {
super(itemView);
imageView=itemView.findViewById(R.id.image);
}
}
//这是我的代码
公共类ExampleFragment扩展了片段{
LinearLayout LinearLayout无项目,LinearLayout无连接;
视图根视图;
私人回收站;
专用适配器1 A适配器;
单击图像按钮菜单;
图像视图图像视图;
//变数
导航视图导航视图;
工具栏;
菜单;
线性布局线性布局;
文本视图文本视图;
底部导航视图底部导航视图;
私有数据库参考数据库参考;
私有ArrayList myUploads;
火基存储火基存储;
StorageReference-StorageReference;
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
rootView=充气机。充气(R.layout.fragment\u示例,容器,false);
init();
返回rootView;
}
公共void init()
{
recyclerView=rootView.findViewById(R.id.WithItems\u recyclerView);
linearlayouthoutitems=rootView.findviewbyd(R.id.WithoutItems);
linearLayoutNoConnection=rootView.findviewbyd(R.id.no_连接);
RecyclerView.LayoutManager LayoutManager=新的GridLayoutManager(getContext(),1);
recyclerView.setLayoutManager(layoutManager);
myUploads=newarraylist();
aAdapter=newadapter1(getContext(),myUploads);
recyclerView.setAdapter(AAAdapter);
aAdapter.notifyDataSetChanged();
databaseReference=FirebaseDatabase.getInstance(“https://liou-43081.firebaseio.comgetReference().child(“Post”);
if(InternetConnection.checkConnection(getContext())){
databaseReference.addValueEventListener(新的ValueEventListener(){
@凌驾
public void onDataChange(@NonNull DataSnapshot DataSnapshot){
if(dataSnapshot.exists()){
//progressBar.setVisibility(View.GONE);
对于(DataSnapshot postsnapshot:DataSnapshot.getChildren()){
Model\u Information upload=postsnapshot.getValue(Model\u Information.class);
//myUploads.clear();
添加(上传);
aAdapter=newadapter1(getContext(),myUploads);
recyclerView.setAdapter(AAAdapter);
aAdapter.notifyDataSetChanged();
recyclerView.invalidate();
}
linearlayouthoutitems.setVisibility(View.GONE);
recyclerView.setVisibility(View.VISIBLE);
aAdapter.notifyDataSetChanged();
}否则{
linearlayouthoutitems.setVisibility(View.VISIBLE);
recyclerView.setVisibility(View.GONE);
}
}
@凌驾
已取消的公共void(@NonNull DatabaseError DatabaseError){
Toast.makeText(getContext(),databaseError.getMessage(),Toast.LENGTH_LONG.show();
}
});
}否则{
linearLayoutNoConnection.setVisibility(View.VISIBLE);
linearlayouthoutitems.setVisibility(View.GONE);
recyclerView.setVisibility(View.GONE);
}
//适配器1.1类
公共类适配器1扩展了RecyclerView.Adapter{
私有上下文;
私有ArrayList用户;
数据库参考数据库参考;
公共适配器1(上下文、ArrayList上载){
mContext=上下文;
用户=上传;
}
@非空
@凌驾
public ImageViewHolder onCreateViewHolder(@NonNull ViewGroup父级,int-viewType){
视图V=LayoutFlater.from(mContext)。充气(R.layout.cardview1,父视图,false);
返回新的ImageViewHolder(V);
}
@凌驾
public void onBindViewHolder(@NonNull final ImageViewHolder,final int position){
//String uploadCurrent=users.get(position.getmImageUrl();
Glide.with(mContext).load(users.get(position.getmImageUrl()).thumbnail(0.05f).transition(DrawableTransitionOptions.withCrossFade()).fitCenter().centerInside().到(holder.imageView)中;
holder.imageView.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
//Toast.makeText(mContext,users.get(position).getCategory(),Toast.LENGTH_LONG.show();
Long l=Long.valueOf(1);
databaseReference=FirebaseDatabase.getInstance(“https://louie-43081.firebaseio.comgetReference(“单击”和“视图”).child(users.get(position.id);
databaseReference.child(“views”).setValue(ServerValue.increment(l));
/*
意向意向=新意向(mContext,ViewActivity.class);
intent.putExtra(“网站”,users.get(position.getWebsiteurl());
intent.putExtra(“action”,users.get(position.getAction());
intent.putExtra(“image”,users.get(position.getmImageUrl());
intent.putExtra(“id”,users.get(position.id));
mContext.startActivity(意图);
*/
}
});
}
@凌驾
public int getItemCount(){
返回users.size();
}
公共类ImageViewHolder扩展了RecyclerView.ViewHolder{
公共影像视图;
公共ImageViewHolder(@NonNull View itemView){
超级(项目视图);
imageView=itemView.findViewById(R.id.image);
for (DataSnapshot postsnapshot : dataSnapshot.getChildren()) {
Model_Information upload=postsnapshot.getValue(Model_Information.class);
myUploads.add(upload);
aAdapter.notifyDataSetChanged();
recyclerView.invalidate();
}