Android 不兼容的类型:无法将LinearLayout转换为LayoutManager
下面是我的代码。我在编译时出错了。我得到下面的错误,我认为是来自线性布局类型使用。我找不到ANDROIDX导入类型。我还不能让它工作。请帮忙 错误:找不到符号变量发送者\u消息\u文本错误:找不到 查找符号变量接收器\消息\文本错误:找不到符号 变量消息\接收器\图像\视图错误:找不到符号 变量自定义\u消息\u布局错误:找不到符号变量 发送者\消息\布局 -------------------------下面是我的代码Android 不兼容的类型:无法将LinearLayout转换为LayoutManager,android,Android,下面是我的代码。我在编译时出错了。我得到下面的错误,我认为是来自线性布局类型使用。我找不到ANDROIDX导入类型。我还不能让它工作。请帮忙 错误:找不到符号变量发送者\u消息\u文本错误:找不到 查找符号变量接收器\消息\文本错误:找不到符号 变量消息\接收器\图像\视图错误:找不到符号 变量自定义\u消息\u布局错误:找不到符号变量 发送者\消息\布局 -------------------------下面是我的代码 package com.tom.air; import an
package com.tom.air;
import android.graphics.Color;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.R;
import androidx.recyclerview.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.google.firebase.auth.FirebaseAuth;
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 com.squareup.picasso.Picasso;
import java.util.List;
import de.hdodenhof.circleimageview.CircleImageView;
public class MessageAdapter extends
RecyclerView.Adapter<MessageAdapter.MessageViewHolder>
{
private List<Messages> userMessagesList;
private FirebaseAuth mAuth;
private DatabaseReference usersRef;
public MessageAdapter (List<Messages> userMessagesList)
{
this.userMessagesList = userMessagesList;
}
public class MessageViewHolder extends RecyclerView.ViewHolder
{
public TextView senderMessageText, receiverMessageText;
public CircleImageView receiverProfileImage;
public ImageView messageSenderPicture, messageReceiverPicture;
public MessageViewHolder(@NonNull View itemView)
{
super(itemView);
senderMessageText = (TextView)
itemView.findViewById(R.id.sender_messsage_text);
receiverMessageText = (TextView)
itemView.findViewById(R.id.receiver_message_text);
receiverProfileImage = (CircleImageView)
itemView.findViewById(R.id.message_profile_image);
messageReceiverPicture =
itemView.findViewById(R.id.message_receiver_image_view);
messageSenderPicture =
itemView.findViewById(R.id.message_sender_image_view);
}
}
@NonNull
@Override
public MessageViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i)
{
View view = LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.custom_messages_layout, viewGroup, false);
mAuth = FirebaseAuth.getInstance();
return new MessageViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull final MessageViewHolder
messageViewHolder, int i)
{
String messageSenderId = mAuth.getCurrentUser().getUid();
Messages messages = userMessagesList.get(i);
String fromUserID = messages.getFrom();
String fromMessageType = messages.getType();
usersRef = FirebaseDatabase.getInstance().getReference().child("Users").child(fromUserID);
usersRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot)
{
if (dataSnapshot.hasChild("image"))
{
String receiverImage = dataSnapshot.child("image").getValue().toString();
Picasso.get().load(receiverImage).placeholder(R.drawable.profile_image).into(messageViewHolder.receiverProfileImage);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
messageViewHolder.receiverMessageText.setVisibility(View.GONE);
messageViewHolder.receiverProfileImage.setVisibility(View.GONE);
messageViewHolder.senderMessageText.setVisibility(View.GONE);
messageViewHolder.messageSenderPicture.setVisibility(View.GONE);
messageViewHolder.messageReceiverPicture.setVisibility(View.GONE);
if (fromMessageType.equals("text"))
{
if (fromUserID.equals(messageSenderId))
{
messageViewHolder.senderMessageText.setVisibility(View.VISIBLE);
messageViewHolder.senderMessageText.setBackgroundResource(R.drawable.sender_messages_layout);
messageViewHolder.senderMessageText.setTextColor(Color.BLACK);
messageViewHolder.senderMessageText.setText(messages.getMessage() + "\n \n" + messages.getTime() + " - " + messages.getDate());
}
else
{
messageViewHolder.receiverProfileImage.setVisibility(View.VISIBLE);
messageViewHolder.receiverMessageText.setVisibility(View.VISIBLE);
messageViewHolder.receiverMessageText.setBackgroundResource(R.drawable.receiver_messages_layout);
messageViewHolder.receiverMessageText.setTextColor(Color.BLACK);
messageViewHolder.receiverMessageText.setText(messages.getMessage() + "\n \n" + messages.getTime() + " - " + messages.getDate());
}
}
}
@Override
public int getItemCount()
{
return userMessagesList.size();
}
}
package com.tom.air;
导入android.graphics.Color;
导入androidx.annotation.NonNull;
导入androidx.annotation.Nullable;
导入androidx.recyclerview.R;
导入androidx.recyclerview.widget.recyclerview;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.ImageView;
导入android.widget.TextView;
导入com.google.firebase.auth.FirebaseAuth;
导入com.google.firebase.database.DataSnapshot;
导入com.google.firebase.database.DatabaseError;
导入com.google.firebase.database.DatabaseReference;
导入com.google.firebase.database.FirebaseDatabase;
导入com.google.firebase.database.ValueEventListener;
导入com.squareup.picasso.picasso;
导入java.util.List;
导入de.hdodenhof.circleimageview.circleimageview;
公共类MessageAdapter扩展
RecyclerView.适配器
{
私有列表用户消息列表;
私人消防队;
私有数据库引用用户sref;
公共消息适配器(列表用户消息列表)
{
this.userMessagesList=userMessagesList;
}
公共类MessageViewHolder扩展了RecyclerView.ViewHolder
{
公共文本视图senderMessageText、receiverMessageText;
公众圈图像查看接收者档案图像;
公共图像查看messageSenderPicture,messageReceiverPicture;
public MessageViewHolder(@NonNull View itemView)
{
超级(项目视图);
senderMessageText=(文本视图)
itemView.findviewbyd(R.id.sender\u message\u text);
receiverMessageText=(文本视图)
itemView.findViewById(R.id.receiver\u message\u text);
receiverProfileImage=(CircleImageView)
itemView.findViewById(R.id.message\u profile\u image);
messageReceiverPicture=
itemView.findViewById(R.id.message\u receiver\u image\u view);
messageSenderPicture=
findViewById(R.id.message\u sender\u image\u view);
}
}
@非空
@凌驾
public MessageViewHolder onCreateViewHolder(@NonNull ViewGroup ViewGroup,int i)
{
View=LayoutFlater.from(viewGroup.getContext())
.充气(R.layout.custom_messages_layout,viewGroup,false);
mAuth=FirebaseAuth.getInstance();
返回新消息ViewHolder(视图);
}
@凌驾
public void onBindViewHolder(@NonNull final MessageViewHolder
messageViewHolder,inti)
{
字符串messageSenderId=mAuth.getCurrentUser().getUid();
Messages=userMessagesList.get(i);
String fromUserID=messages.getFrom();
字符串fromMessageType=messages.getType();
usersRef=FirebaseDatabase.getInstance().getReference().child(“用户”).child(fromUserID);
usersRef.addValueEventListener(新的ValueEventListener(){
@凌驾
公共void onDataChange(DataSnapshot DataSnapshot)
{
if(dataSnapshot.hasChild(“图像”))
{
字符串receiverImage=dataSnapshot.child(“图像”).getValue().toString();
Picasso.get().load(receiverImage).placeholder(R.drawable.profile\u image).into(messageViewHolder.receiverProfileImage);
}
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
}
});
messageViewHolder.receiverMessageText.setVisibility(View.GONE);
messageViewHolder.receiverProfileImage.setVisibility(View.GONE);
messageViewHolder.senderMessageText.setVisibility(View.GONE);
messageViewHolder.messageSenderPicture.setVisibility(View.GONE);
messageViewHolder.messageReceiverPicture.setVisibility(View.GONE);
if(fromMessageType.equals(“文本”))
{
if(fromUserID.equals(messageSenderId))
{
messageViewHolder.senderMessageText.setVisibility(View.VISIBLE);
messageViewHolder.senderMessageText.setBackgroundResource(R.drawable.sender\u messages\u布局);
messageViewHolder.senderMessageText.setTextColor(Color.BLACK);
messageViewHolder.senderMessageText.setText(messages.getMessage()+“\n\n”+messages.getTime()+“-”+messages.getDate());
}
其他的
{
messageViewHolder.receiverProfileImage.setVisibility(View.VISIBLE);
messageViewHolder.receiverMessageText.setVisibility(View.VISIBLE);
messageViewHolder.receiverMessageText.setBackgroundResource(R.drawable.receiver\u messages\u布局);
messageViewHolder.receiverMessageText.setTextColor(Color.BLACK);
messageViewHolder.receiverMessageText.setText(messages.getMessage()+“\n\n”+messages.getTime()+“-”+messages.getDate());
}
}
}
@凌驾
public int getItemCount()
{
返回userMessagesList.size();
}
}
您是否在RecyclerView中添加了LayoutManager?是的,我添加了此项-导入androidx.RecyclerView.widget.LinearLayoutManager;我还加了t