有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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();

        }
    });
}
}

错误是(正如你所看到的,我在响应上得到了错误,所以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);
    }
}
}

问题是否可能是由其他原因(程序的另一部分)引起的


共 (0) 个答案