错误:尝试调用接口方法';int java.util.List.size()';关于空对象引用

错误:尝试调用接口方法';int java.util.List.size()';关于空对象引用,java,android,nullpointerexception,android-recyclerview,Java,Android,Nullpointerexception,Android Recyclerview,我正在创建一个在回收器视图中显示视频的应用程序,我已经可以将视频存储在Firestore数据库中,但在运行我的应用程序时出现以下错误: java.lang.NullPointerException: Attempt to invoke interface method 'int java.util.List.size()' on a null object reference at com.example.carlos.trendy.FeedRecyclerAdapter.getItem

我正在创建一个在回收器视图中显示视频的应用程序,我已经可以将视频存储在Firestore数据库中,但在运行我的应用程序时出现以下错误:

java.lang.NullPointerException: Attempt to invoke interface method 'int java.util.List.size()' on a null object reference
    at com.example.carlos.trendy.FeedRecyclerAdapter.getItemCount(FeedRecyclerAdapter.java:35)
我的代码:

public class FeedRecyclerAdapter extends RecyclerView.Adapter<FeedRecyclerAdapter.ViewHolder> {

public List<Feed>feedList;

public FeedRecyclerAdapter(List<Feed> feedList){
    this.feedList = feedList;
}

@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

    View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.feed_row, parent, false);
    return new ViewHolder(view);
}

@Override
public void onBindViewHolder(ViewHolder holder, int position) {

    String desc_data = feedList.get(position).getDesc();
    holder.setDesc(desc_data);
}

@Override
public int getItemCount() {
    return feedList.size();///ERROR
}

public  class ViewHolder extends RecyclerView.ViewHolder{

    private TextView desc;
    private View mView;

    public ViewHolder(View itemView) {
        super(itemView);
        mView=itemView;
    }
    public void setDesc(String descText){
        desc = mView.findViewById(R.id.post_desc);
        desc.setText(descText);
    }
}
}
公共类FeedRecyclerAdapter扩展了RecyclerView.Adapter{
公共列表;
公共FeedRecyclerAdapter(列表feedList){
this.feedList=feedList;
}
@凌驾
public ViewHolder onCreateViewHolder(视图组父级,int-viewType){
View=LayoutFlater.from(parent.getContext()).flate(R.layout.feed_行,parent,false);
返回新的ViewHolder(视图);
}
@凌驾
公共无效onBindViewHolder(ViewHolder,int位置){
字符串desc_data=feedList.get(位置).getDesc();
保持器设置描述(描述数据);
}
@凌驾
public int getItemCount(){
返回feedList.size();///错误
}
公共类ViewHolder扩展了RecyclerView.ViewHolder{
私有文本视图描述;
私有视图;
公共视图持有者(视图项视图){
超级(项目视图);
mView=项目视图;
}
公共void setDesc(字符串descText){
desc=mView.findviewbyd(R.id.post\u desc);
desc.setText(descText);
}
}
}
饲养活动:

public class FeedActivity extends AppCompatActivity {

private Context mContext = FeedActivity.this;
private static final int ACTIVITY_NUM = 0;
private FirebaseFirestore firebaseFirestore;


private RecyclerView mFeedList;
private List<Feed> feedList;
private FeedRecyclerAdapter feedRecyclerAdapter;

public void videoPicker(View view){
    Intent intent = new Intent(FeedActivity.this, postActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(intent);

}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_feed);

    mFeedList = this.findViewById(R.id.feed_list);
    feedRecyclerAdapter = new FeedRecyclerAdapter(feedList);
    mFeedList.setLayoutManager(new LinearLayoutManager(this));
    mFeedList.setAdapter(feedRecyclerAdapter);

    feedList = new ArrayList<>();


    firebaseFirestore = FirebaseFirestore.getInstance();
    firebaseFirestore.collection("Posts").addSnapshotListener(new EventListener<QuerySnapshot>() {
        @Override
        public void onEvent(QuerySnapshot documentSnapshots, FirebaseFirestoreException e) {
            for (DocumentChange documentChange: documentSnapshots.getDocumentChanges()){
                if (documentChange.getType() == DocumentChange.Type.ADDED){
                    Feed feed = documentChange.getDocument().toObject(Feed.class);
                    feedList.add(feed);
                    feedRecyclerAdapter.notifyDataSetChanged();
                }
            }
        }
    });



    setupBottomNavigationView();


}

private void setupBottomNavigationView() {
    BottomNavigationView bottomNavigationView = findViewById(R.id.bottomNavViewBar);
    BottomNavigationViewHelper.enableNavigation(mContext, bottomNavigationView);
    Menu menu = bottomNavigationView.getMenu();
    MenuItem menuItem = menu.getItem(ACTIVITY_NUM);
    menuItem.setChecked(true);
}

@Override
protected void onStart() {
    super.onStart();


}

public static class FeedViewHolder extends RecyclerView.ViewHolder {
    View mView;

    public FeedViewHolder(View itemView) {
        super(itemView);
        itemView = mView;
    }
    public void setDesc(String desc){
        TextView post_desc = mView.findViewById(R.id.post_desc);
        post_desc.setText(desc);
    }
}

}
公共类FeedActivity扩展了AppCompative活动{
私有上下文mContext=FeedActivity.this;
私有静态最终整数活动_NUM=0;
私人FirebaseFirestore FirebaseFirestore;
私人回收站查看mFeedList;
私人名单;
私人饲料回收器适配器饲料回收器适配器;
公共无效视频选择器(视图){
意向意向=新意向(FeedActivity.this、postActivity.class);
intent.addFlags(intent.FLAG\u ACTIVITY\u CLEAR\u TOP);
星触觉(意向);
}
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_提要);
mFeedList=this.findviewbyd(R.id.feed\u list);
feedRecyclerAdapter=新的feedRecyclerAdapter(feedList);
setLayoutManager(新的LinearLayoutManager(this));
设置适配器(feedRecyclerAdapter);
feedList=新的ArrayList();
firebaseFirestore=firebaseFirestore.getInstance();
firebaseFirestore.collection(“Posts”).addSnapshotListener(新的EventListener(){
@凌驾
public void OneEvent(QuerySnapshot文档快照,FireBaseFireStore异常e){
对于(DocumentChange DocumentChange:documentSnapshots.getDocumentChanges()){
if(documentChange.getType()==documentChange.Type.ADDED){
Feed Feed=documentChange.getDocument().toObject(Feed.class);
feedList.add(feed);
feedRecyclerAdapter.notifyDataSetChanged();
}
}
}
});
setupBottomNavigationView();
}
私有void setupBottomNavigationView(){
BottomNavigationView BottomNavigationView=findViewById(R.id.bottomNavViewBar);
启用导航(mContext,bottomNavigationView);
Menu Menu=bottomNavigationView.getMenu();
MenuItem MenuItem=menu.getItem(活动数量);
menuItem.setChecked(true);
}
@凌驾
受保护的void onStart(){
super.onStart();
}
公共静态类FeedViewHolder扩展了RecyclerView.ViewHolder{
视图视图;
公共FeedViewHolder(查看项目视图){
超级(项目视图);
itemView=mView;
}
公共void setDesc(字符串desc){
TextView post_desc=mView.findviewbyd(R.id.post_desc);
后描述设置文本(描述);
}
}
}

有人能帮我吗?

您可以在这里初始化适配器:
feedRecyclerAdapter=新的feedRecyclerAdapter(feedList)
但是
feedList
为空
您必须初始化它
移动所有这些行:

feedRecyclerAdapter = new FeedRecyclerAdapter(feedList);
mFeedList.setLayoutManager(new LinearLayoutManager(this));
mFeedList.setAdapter(feedRecyclerAdapter);
在这一行之后:

feedList = new ArrayList<>();
feedList=newarraylist();

发布活动中设置适配器的代码。我已经编辑了帖子。请参阅我编辑的答案。谢谢,这很有效。非常感谢:)我很高兴_______