当前位置: 首页 > 知识库问答 >
问题:

尝试设置适配器:继续获取E/RecyclerView:未附加适配器;跳过版式[重复]

袁鸿畅
2023-03-14

我在logcat:e/recyclerview:No adapter attached中不断收到这个消息;跳过布局

到目前为止,我在StackOverflow上搜索了很长时间,但答案似乎对我不起作用。在我看来,适配器的设置是正确的。我试图在Android中实现一个应用程序的Messenger功能。

我会把代码贴在下面。

public class MessageListActivity extends AppCompatActivity {
    public RecyclerView mMessageRecycler;
    public MessageListAdapter mMessageAdapter;
    ArrayList<String> msgidlist = new ArrayList<String>();
    RequestQueue rq;
    String url, id_from, id_to, msgid, m_from, m_to, mnicksender, mnickreceiver, mbody,mtimestamp, mwasread;
    @Override

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_message_list);
        id_to="2243";
        id_from="5073";
        url = "https://www.someurl.com/chat.php?id1="+id_from+"&id2="+id_to;
        rq = Volley.newRequestQueue(this);
        sendjsonrequest();
    }

    public void sendjsonrequest() {
        JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Request.Method.GET, url, null, new Response.Listener<JSONArray>() {
            @Override
            public void onResponse(JSONArray response) {
                // Process the JSON
                try{
                    // Loop through the array elements
                    for(int i=0;i<response.length();i++){
                        // Get current json object
                        JSONObject messages = response.getJSONObject(i);
                        // Get the current profile (json object) data
                        msgid = messages.getString("msgid");
                        m_from = messages.getString("id_from");
                        m_to = messages.getString("id_to");
                        mnicksender = messages.getString("sender");
                        mnickreceiver = messages.getString("receiver");
                        mbody = messages.getString("body");
                        mtimestamp = messages.getString("timestamp");
                        mwasread = messages.getString("wasread");
                        messageData.setmsgid(msgid);
                        messageData.setm_from(m_from);
                        messageData.setm_to(m_to);
                        messageData.setmnicksender(mnicksender);
                        messageData.setMnickreceiver(mnickreceiver);
                        messageData.setBody(mbody);
                        messageData.setTimestamp(mtimestamp);
                        messageData.setWasread(mwasread);
                        msgidlist.add(msgid);
                    }
                }catch (JSONException e){
                    e.printStackTrace();
                }
                mMessageRecycler = findViewById(R.id.reyclerview_message_list);
                mMessageAdapter = new MessageListAdapter(MessageListActivity.this, msgidlist);
                mMessageRecycler.setLayoutManager(new LinearLayoutManager(MessageListActivity.this));
                mMessageRecycler.setAdapter(mMessageAdapter);
            }

        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
            }
        });
        rq.add(jsonArrayRequest);
    }

}

任何关于如何处理这件事的想法。

共有1个答案

司毅庵
2023-03-14

您的代码很好,但需要一些小的修改

在onCreate中添加下面一行代码。请记住,始终在activity/片段的OnCreate或OnResume状态下初始化UI小部件。

MmessageRecycler=findViewById(r.id.reyclerView_Message_List);

然后在OnCreate或OnResume中添加这行,在Recyclerview小部件的声明之后,也添加这行。

MMessageRecycler.SetHasFixedSize(true);

MMessageRecycler.SetLayoutManager(新建LinearLayoutManager(MessageListActivity.This));

然后在完成上面的行之后,您可以将适配器初始化保持在API响应调用的内部。

 类似资料:
  • 我的应用程序正在正确地从parse.com获取信息,但没有像以前那样在recyclerview中正确地显示信息。系统提示我错误消息“no adapter attached;skipping layout”,并且recyclerview仍然为空。请你检查一下我的程序并通知我任何我可能错过的错误好吗? $ $

  • 我一直在stackoverflow和这篇博文上阅读不同的答案,并试图实现它们的解决方案,但我仍然得到错误: 片段中的布局: 和项目的布局: 我做错了什么? 编辑:以下是适配器:

  • 一切正常。但Logcat中显示了一些错误。 E/RecyclerView:未附加适配器;跳过布局 E/RecyclerView:未附加适配器;跳过布局 我的activity代码: 我读过与同一问题有关的其他问题,但都没有帮助。请帮帮我

  • 按照本指南,我尝试将实现为片段。我得到错误回收视图不显示任何内容 我已尝试 RecycleView未附加适配器;跳过布局 片段中的RecyclerView:没有连接适配器,跳过布局 和更多。 我的代码:

  • 我需要帮助,我有一个错误,那就是这个:E/recyclerView:没有连接适配器;跳过布局 代码: 公共视图onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState){View View=inflater.inflate(r.layout.fragment_chats,container,

  • 我收到以下错误:“RecyclerView:未附加适配器;跳过布局”但我已附加适配器...我试过很多不同的方法,但都解决不了这个错误。 我正在使用Volley库获取数据。当我启动activity时,直到结束只有进度条可见,并且收到上面的Logcat消息。我已经在中添加了带有适配器的。你能帮帮我吗? 下面是我的代码: 主要活动 地震适配器 mainactivity.xml EquestakerAw.