Android 使用firebase的BindViewHolder上的RecyclerVIew适配器中存在上下文错误
无法将java.lang.String类型的对象转换为sort.media.sound.audio.workshopException2.Contacts类型 这就是我得到的错误Android 使用firebase的BindViewHolder上的RecyclerVIew适配器中存在上下文错误,android,firebase,android-adapter,android-viewholder,Android,Firebase,Android Adapter,Android Viewholder,无法将java.lang.String类型的对象转换为sort.media.sound.audio.workshopException2.Contacts类型 这就是我得到的错误 import com.squareup.picasso.Picasso; import de.hdodenhof.circleimageview.CircleImageView; public class FindFriendActivity extends AppCompatActivity { pr
import com.squareup.picasso.Picasso;
import de.hdodenhof.circleimageview.CircleImageView;
public class FindFriendActivity extends AppCompatActivity {
private Toolbar mToolBar;
private RecyclerView FindFriendsRecylerList;
private DatabaseReference UsersRef;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_find_friend);
UsersRef= FirebaseDatabase.getInstance().getReference().child("Users");
FindFriendsRecylerList=(RecyclerView) findViewById(R.id.find_friends_recycler_lists);
FindFriendsRecylerList.setLayoutManager(new LinearLayoutManager(this));
mToolBar=(Toolbar) findViewById(R.id.find_friends_toolbar);
setSupportActionBar(mToolBar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setTitle("Find Friends");
}
@Override
public void onStart()
{
super.onStart();
FirebaseRecyclerOptions<Contacts> options=new FirebaseRecyclerOptions.Builder<Contacts>
().setQuery(UsersRef,Contacts.class).build();
FirebaseRecyclerAdapter<Contacts,FindFriendsViewHolder> adapter=new FirebaseRecyclerAdapter<Contacts, FindFriendsViewHolder>(options) {
@Override
protected void onBindViewHolder(@NonNull FindFriendsViewHolder holder, int position, @NonNull Contacts model) {
model=new Contacts();
holder.userName.setText(model.getName());
holder.userStatus.setText(model.getStatus());
Picasso.get().load(model.getImage()).into(holder.profileImage);
}
@NonNull
@Override
public FindFriendsViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view= LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.users_display_layout,viewGroup,false);
FindFriendsViewHolder findFriendsViewHolder=new FindFriendsViewHolder(view);
return findFriendsViewHolder;
}
};
FindFriendsRecylerList.setAdapter(adapter);
adapter.startListening();
}
public static class FindFriendsViewHolder extends RecyclerView.ViewHolder
{
TextView userName,userStatus;
CircleImageView profileImage;
public FindFriendsViewHolder(@NonNull View itemView) {
super(itemView);
userName=itemView.findViewById(R.id.users_profile_name);
userStatus=itemView.findViewById(R.id.users_status);
profileImage=itemView.findViewById(R.id.users_profile_image);
}
}
}
仅供参考,了解如何最好地格式化堆栈溢出问题中显示的代码非常重要。请记下我是如何编辑的。请添加数据库的屏幕截图OK我正在发送它。请将数据库结构添加为JSON文件或至少作为屏幕截图。请回复@AlexMamo
package sort.media.sound.audio.workshoplecture2;
public class Contacts {
String name;
String image;
String status;
public Contacts()
{
}
public Contacts(String name, String image, String status) {
this.name = name;
this.image = image;
this.status = status;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}