Я хочу передать переменные stati c от Users. java в UsersFragment. java, но возникнет указанная ниже ошибка ... Я пытаюсь устранить эту ошибку за последние 2 дня.
E/RecyclerView: No adapter attached; skipping layout
V/FA: Inactivity, disconnecting from the service
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.login, PID: 9070
com.google.firebase.database.DatabaseException: No properties to serialize found on class com.example.login.Users
at com.google.firebase.database.core.utilities.encoding.CustomClassMapper$BeanMapper.<init>(com.google.firebase:firebase-database@@19.2.0:547)
at com.google.firebase.database.core.utilities.encoding.CustomClassMapper.loadOrCreateBeanMapperForClass(com.google.firebase:firebase-database@@19.2.0:329)
at com.google.firebase.database.core.utilities.encoding.CustomClassMapper.convertBean(com.google.firebase:firebase-database@@19.2.0:430)
at com.google.firebase.database.core.utilities.encoding.CustomClassMapper.deserializeToClass(com.google.firebase:firebase-database@@19.2.0:231)
at com.google.firebase.database.core.utilities.encoding.CustomClassMapper.convertToCustomClass(com.google.firebase:firebase-database@@19.2.0:79)
at com.google.firebase.database.DataSnapshot.getValue(com.google.firebase:firebase-database@@19.2.0:203)
at com.example.login.ui.login.UsersFragment$1.onDataChange(UsersFragment.java:59)
at com.google.firebase.database.core.ValueEventRegistration.fireEvent(com.google.firebase:firebase-database@@19.2.0:75)
at com.google.firebase.database.core.view.DataEvent.fire(com.google.firebase:firebase-database@@19.2.0:63)
at com.google.firebase.database.core.view.EventRaiser$1.run(com.google.firebase:firebase-database@@19.2.0:55)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:201)
at android.app.ActivityThread.main(ActivityThread.java:6806)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
Я верхняя ошибка, моя ошибка
at com.example.login.ui.login.UsersFragment$1.onDataChange(UsersFragment.java:59)
и полезные файлы 2 java приведены ниже
Пользователи. java
package com.example.login;
public class Users {
private static String UserName;
private static String UserPhone;
private static String UserDesc;
private static String UserEmail;
private static String UserID;
public Users(String userName,String userPhone,String userDesc,String userEmail, String userID) {
this.UserName = userName;
this.UserPhone = userPhone;
this.UserDesc = userDesc;
this.UserEmail = userEmail;
this.UserID = userID;
}
public Users() {
}
public static String getUserName() {
return UserName;
}
public static void setUserName(String userName) {
UserName = userName;
}
public static String getUserPhone() {
return UserPhone;
}
public static void setUserPhone(String userPhone) {
UserPhone = userPhone;
}
public static String getUserDesc() {
return UserDesc;
}
public static void setUserDesc(String userDesc) {
UserDesc = userDesc;
}
public static String getUserEmail() {
return UserEmail;
}
public static void setUserEmail(String userEmail) {
UserEmail = userEmail;
}
public static String getUserID() {
return UserID;
}
public static void setUserID(String userID) {
UserID = userID;
}
}
UsersFragment. java
package com.example.login.ui.login;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.example.login.R;
import com.example.login.UserAdapter;
import com.example.login.Users;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;
import java.util.ArrayList;
import java.util.List;
public class UsersFragment extends Fragment {
private RecyclerView recyclerView;
private UserAdapter userAdapter;
private List<Users> users;
@Override
public View onCreateView(LayoutInflater inflater,ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_users,container,false);
recyclerView = view.findViewById(R.id.user_recycler);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
users = new ArrayList<>();
readUsers();
return view;
}
private void readUsers() {
final FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser();
DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Users");
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
users.clear();
for(DataSnapshot snapshot : dataSnapshot.getChildren()){
Users user = snapshot.getValue(Users.class);
assert firebaseUser != null;
if(!Users.getUserID().equals(firebaseUser.getUid())){
users.add(user);
Log.d("hhh",String.valueOf(users));
}
}
userAdapter = new UserAdapter(getContext(), users);
recyclerView.setAdapter(userAdapter);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
}
Пожалуйста, решите мою ошибку, я очень смущен ...