Java RecyclerView适配器中的NullPointerException

Java RecyclerView适配器中的NullPointerException,java,android,android-recyclerview,Java,Android,Android Recyclerview,编辑:建议的重复问题不会以任何方式、形状或形式回答我的问题。 我在设置我的RecyclerView适配器时遇到问题。我有两个错误: 09-19 20:01:38.601 22710-22710/com.yitter.android E/RecyclerView: No adapter attached; skipping layout 。。。以及: java.lang.NullPointerException: Attempt to invoke virtual method 'void an

编辑:建议的重复问题不会以任何方式、形状或形式回答我的问题。

我在设置我的RecyclerView适配器时遇到问题。我有两个错误:

09-19 20:01:38.601 22710-22710/com.yitter.android E/RecyclerView: No adapter attached; skipping layout
。。。以及:

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView.setAdapter(android.support.v7.widget.RecyclerView$Adapter)' on a null object reference
    at com.yitter.feed.FeedActivity.lambda$retrieveYeets$68(FeedActivity.java:402)
    at com.yitter.feed.FeedActivity.access$lambda$3(FeedActivity.java:0)
    at com.yitter.feed.FeedActivity$$Lambda$4.done(Unknown Source)
    at com.parse.ParseTaskUtils$2$1.run(ParseTaskUtils.java:116)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:148)
    at android.app.ActivityThread.main(ActivityThread.java:5417)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
FeedActivity:

在我的
initialise()
类中(在
onCreate()
中),我设置了我的RecyclerView和适配器:

RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerView);
                recyclerView.setHasFixedSize(true);
                adapter = new FeedAdapter(FeedActivity.this, retrieveYeets());
                recyclerView.setAdapter(adapter);
                recyclerView.setLayoutManager(new LinearLayoutManager(this));
我根据查询传递列表:

public List<ParseObject> retrieveYeets() {
        String groupId = ParseUser.getCurrentUser().getString("groupId");
        ParseQuery<ParseObject> query = new ParseQuery<>(ParseConstants.CLASS_YEET);
        query.whereContains(ParseConstants.KEY_GROUP_ID, groupId);
        query.orderByDescending("lastReplyUpdatedAt");
        query.setLimit(1000);
        query.findInBackground((yeets, e) -> {

            if (mSwipeRefreshLayout.isRefreshing()) {
                mSwipeRefreshLayout.setRefreshing(false);
            }

            if (e == null) {

                // We found messages!
                mYeets = yeets;

                String[] usernames;
                usernames = new String[mYeets.size()];
                int i = 0;
                for(ParseObject yeet : mYeets) {
                    usernames[i] = yeet.getString(ParseConstants.KEY_SENDER_NAME);
                    i++;
                }

                // Add data to FeedAdapter
                FeedAdapter adapter = new FeedAdapter(
                        FeedActivity.this,
                        mYeets);
                recyclerView.setAdapter(adapter);

            }
        });

        return mYeets;
    }
在我的
retrieveyets()
方法中,删除了以下行:

// Add data to FeedAdapter
                FeedAdapter adapter = new FeedAdapter(
                        FeedActivity.this,
                        mYeets);
                recyclerView.setAdapter(adapter);

假设您在xml布局文件中引用了RecyclerView块中的一个文件,而该文件不存在于drawable或其他文件夹或文件中……请检查这几行之前的错误行,您可以在第#行中看到错误。。。
然后检查…

您的错误很明显。第一个原因是因为您没有将正确的适配器连接到它,第二个原因是您在初始化RecyclerService之前正在尝试设置适配器。你们觉得咸吗?我不认为缺少布局文件。那是什么?我发布了主要活动和适配器。我遗漏了什么吗?像这样的事情:我把我的答案附在我原来的问题上。它起作用了。唯一的问题是,当活动启动时,提要没有初始化。
// Add data to FeedAdapter
                FeedAdapter adapter = new FeedAdapter(
                        FeedActivity.this,
                        mYeets);
                recyclerView.setAdapter(adapter);