Я получаю:
Попытка вызвать виртуальный метод 'void android.widget.TextView.setText (java.lang.CharSequence)' для ссылки на пустой объект
Эта ошибка в начале сбоя. Я впервые получаю этот тип ошибки
public class Messageadapter extends RecyclerView.Adapter {
private static final int MSG_TYPE_LEFT=0;
private static final int MSG_TYPE_RIGHT=1;
private Context mContext;
private List<Chat> mChat;
private String imageurl;
FirebaseUser fuser;
public Messageadapter(Context mContext, List<Chat> mChat,String imageurl) {
this.mContext=mContext;
this.mChat=mChat;
this.imageurl=imageurl;
}
@NonNull
@Override
public Messageadapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
if(viewType==MSG_TYPE_RIGHT){
View view= LayoutInflater.from(mContext).inflate(R.layout.chat_item_right,parent,false);
return new Messageadapter.ViewHolder(view);
}else {
View view= LayoutInflater.from(mContext).inflate(R.layout.chat_item_left,parent,false);
return new Messageadapter.ViewHolder(view);
}
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
Chat chat=mChat.get(position);
((ViewHolder) holder).show_message.setText(chat.getMessage());///////Error is said on this line/////////////////
((UserAdapter.ViewHolder) holder).profile_image.setImageResource(R.mipmap.ic_launcher);
}
@Override
public int getItemCount() {
return mChat.size();
}
public class ViewHolder extends RecyclerView.ViewHolder{
public TextView show_message;
public ImageView profile_image;
public ViewHolder(@NonNull View itemView) {
super(itemView);
show_message=itemView.findViewById(R.id.show_message);
profile_image=itemView.findViewById(R.id.profileimage);
}
}
@Override
public int getItemViewType(int position) {
fuser= FirebaseAuth.getInstance().getCurrentUser();
if(mChat.get(position).getSender().equals(fuser.getUid())){
return MSG_TYPE_RIGHT;
}
else {
return MSG_TYPE_LEFT;
}
}
}
Я хочу, чтобы Viewholder
выбрал это сообщение, но оно не отображается.