java - E/RecyclerView:没有附加适配器;跳过布局,不重复没有任何效果(不显示框架)
问题描述
E/RecyclerView:没有附加适配器;跳过布局
我在网站上几乎看到过类似的问题,但它们是不同的问题,因为在我的情况下没有任何效果。我尝试了该解决方案,但没有运气
我已经清楚地附上了适配器为什么显示这个错误,在我的情况下没有任何反应,没有显示片段
public class MessageFragment extends Fragment {
private RecyclerView recyclerViewMessages;
private RecyclerView.Adapter adapter;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState)
{ return inflater.inflate(R.layout.fragment_messages, container, false);
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
getActivity().setTitle("Messages");
recyclerViewMessages = (RecyclerView) view.findViewById(R.id.recyclerViewMessages);
recyclerViewMessages.setHasFixedSize(true);
recyclerViewMessages.setLayoutManager(new LinearLayoutManager(getActivity()));
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(APIUrl.BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
APIService service = retrofit.create(APIService.class);
Call<Messages> call = service.getMessages(SharedPrefManager.getInstance(getActivity()).getUser().getId());
call.enqueue(new Callback<Messages>() {
@Override
public void onResponse(Call<Messages> call, Response<Messages> response) {
adapter = new MessageAdapter(response.body().getMessages(), getActivity());
recyclerViewMessages.setAdapter(adapter);
Log.d("Tag","onResponse" );
}
@Override
public void onFailure(Call<Messages> call, Throwable t) {
Toast.makeText(getActivity(), t.getMessage(), Toast.LENGTH_LONG).show();
}
});
}
}
错误是(如您所见,我收到 onResponse 错误,因此 API 应该没有问题:
E/RecyclerView: No adapter attached; skipping layout
D/Tag: onResponse
以防万一您需要查看适配器类:
public class MessageAdapter extends
RecyclerView.Adapter<MessageAdapter.ViewHolder> {
private List<Message> messages;
private Context mCtx;
public MessageAdapter(List<Message> messages, Context mCtx) {
this.messages = messages;
this.mCtx = mCtx;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext())
.inflate(R.layout.list_messages, parent, false);
return new ViewHolder(v);
}
@Override
public void onBindViewHolder(MessageAdapter.ViewHolder holder, int position) {
final Message message = messages.get(position);
holder.textViewName.setText(message.getFrom());
holder.textViewTitle.setText(message.getTitle());
holder.textViewMessage.setText(message.getMessage());
holder.textViewTime.setText(message.getSent());
}
@Override
public int getItemCount() {
return messages.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
public TextView textViewName;
public TextView textViewTitle;
public TextView textViewMessage;
public TextView textViewTime;
public ViewHolder(View itemView) {
super(itemView);
textViewName = (TextView) itemView.findViewById(R.id.textViewName);
textViewTitle = (TextView) itemView.findViewById(R.id.textViewTitle);
textViewMessage = (TextView) itemView.findViewById(R.id.textViewMessage);
textViewTime = (TextView) itemView.findViewById(R.id.textViewTime);
}
}
}
是否有可能由于其他原因(程序的另一部分?
解决方案
推荐阅读
- mysql - 我在 PhpMyAdmin 中更改密码后 MAMP 与 MySQL 的连接出现问题
- c# - Unity 2d刚体;在 Y 轴上以相同的速度移动比在 X 轴上快
- c++ - 如何在 Visual Studio for C++ 中启用 Intellisense 补全?
- html - Iframe css 样式在 Iphone 上不起作用,如何解决这个问题?
- python - 为什么在平局时会转到 else 语句?
- sql - 如何将行数据显示为列
- python - opencv undistortPoints 不会不失真
- batch-file - 有没有办法在一次检查中减少咨询时间?
- java - 排除 Java 文件中的元素
- c++ - 将 Box2D 添加到 Xcode (12.4) 项目时遇到问题