, когда я использую класс FirebaseRecyclerAdapter, выдает мне эту ошибку: Не удается преобразовать объект типа java.lang.String в тип com.photoblog.kyrillos.blog.Model.Users после добавления этих двух строк кода происходит сбой recyclerView.setHasFixedSize (истина);recyclerView.setLayoutManager (linearLayoutManager);
мой код
import android.content.Context;
import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.firebase.ui.database.FirebaseRecyclerAdapter;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.photoblog.kyrillos.blog.Model.Users;
import com.photoblog.kyrillos.blog.R;
import de.hdodenhof.circleimageview.CircleImageView;
public class HomeActivity extends AppCompatActivity {
private Toolbar homeToolbar;
private FirebaseAuth mAuth;
private DatabaseReference mDatabase;
private RecyclerView recyclerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
mAuth = FirebaseAuth.getInstance();
mDatabase = FirebaseDatabase.getInstance().getReference().child("Users").child(mAuth.getCurrentUser().getUid());
homeToolbar = findViewById(R.id.homeToolbar);
setSupportActionBar(homeToolbar);
getSupportActionBar().setTitle("Home");
recyclerView = findViewById(R.id.recyclerView);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
}
@Override
protected void onStart() {
super.onStart();
FirebaseRecyclerAdapter<Users,BlogViewHolder > adapter =
new FirebaseRecyclerAdapter<Users, BlogViewHolder >(
Users.class,
R.layout.blog_row,
BlogViewHolder .class,
mDatabase){
@Override
protected void populateViewHolder(BlogViewHolder viewHolder, Users model, int position) {
viewHolder.setUserImage(HomeActivity.this,model.getImage());
viewHolder.setUserName(model.getName());
viewHolder.setPostImage(HomeActivity.this,model.getPostImage());
viewHolder.setPostDescription(model.getPostDescription());
}
};
recyclerView.setAdapter(adapter);
}
public static class BlogViewHolder extends RecyclerView.ViewHolder{
View mView;
public BlogViewHolder (@NonNull View itemView) {
super(itemView);
mView = itemView;
}
public void setUserImage(Context context,String url){
CircleImageView imageView = mView.findViewById(R.id.postUserImageView);
Glide.with(context)
.load(url)
.into(imageView);
}
public void setUserName(String userName){
TextView view = mView.findViewById(R.id.postUserNameView);
view.setText(userName);
}
public void setPostImage(Context context,String postImage){
ImageView postImageView = mView.findViewById(R.id.postImageView);
Glide.with(context)
.load(postImage)
.into(postImageView);
}
public void setPostDescription(String postDescription){
TextView postTextView = mView.findViewById(R.id.postTextView);
postTextView.setText(postDescription);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_menu,menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.action_add){
startActivity(new Intent(HomeActivity.this,PostActivity.class));
} else if (item.getItemId() == R.id.action_settings) {
startActivity(new Intent(HomeActivity.this,SettingsActivity.class));
} else if (item.getItemId() == R.id.action_logOut) {
mAuth.signOut();
startActivity(new Intent(HomeActivity.this,LoginActivity.class));
finish();
}
return super.onOptionsItemSelected(item);
}
}
и модель пользователя:
public class Users {
private String Email,Image, Name;
private String Password ,Phone, postImage, postDescription;
public Users() {
}
public Users(String email, String image, String name, String password, String phone, String postImage, String postDescription) {
Email = email;
Image = image;
Name = name;
Password = password;
Phone = phone;
this.postImage = postImage;
this.postDescription = postDescription;
}
public String getEmail() {
return Email;
}
public void setEmail(String email) {
Email = email;
}
public String getImage() {
return Image;
}
public void setImage(String image) {
Image = image;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public String getPassword() {
return Password;
}
public void setPassword(String password) {
Password = password;
}
public String getPhone() {
return Phone;
}
public void setPhone(String phone) {
Phone = phone;
}
public String getPostImage() {
return postImage;
}
public void setPostImage(String postImage) {
this.postImage = postImage;
}
public String getPostDescription() {
return postDescription;
}
public void setPostDescription(String postDescription) {
this.postDescription = postDescription;
}
}