java—parseuser.getcurrentuser.getlist(“isfollowing”).add(users.get(p))和parseuser.getcurrentuser.add(“isfollowing”,users.get(p))之间的差异

mrwjdhj3  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(294)

我正在制作一个简单的类似twitter的应用程序,用户可以在其中跟帖或发帖。
我用的是解析android。
在users表中,我创建了一个名为“isfollowing”的列,它表示关注者的名称。

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                CheckedTextView checkedTextView=(CheckedTextView)view;
                if (checkedTextView.isChecked()){
                    ParseUser.getCurrentUser().getList("isFollowing").add(users.get(position));
                }else {
                    ParseUser.getCurrentUser().getList("isFollowing").remove(users.get(position));
                }
                ParseUser.getCurrentUser().saveInBackground();
            }
        });

这个 users arraylist包含存在的用户数。如果我们点击列表视图,那么用户的名字将被添加到列表中 isFollowing 分析数据库中的数组。
我正在使用 ParseUser.getCurrentUser().getList("isFollowing").add(users.get(position)); 将用户名添加到我的数组中,这将导致空指针异常。
但如果我用 ParseUser.getCurrentUser.add("isFollowing", users.get(position)) ,则会正确执行。
为什么会这样?

7vhp5slm

7vhp5slm1#

可能在第一时间你的列表还没有初始化,所以 getList("isFollowing") 返回null。你正在设置一个空的 [] 创建此用户到该字段时使用数组?
另外,如果您希望这个数组随着时间的推移而增长,并且在某些情况下达到>20个项目,那么将来可能会出现性能问题。我会使用关系或指针字段来存储这种数据。

相关问题