0

我正在制作一个简单的 Twitter 类应用程序,用户可以在其中关注或发布。

我为此使用 parse android。

在用户表中,我创建了一个名为“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();
            }
        });

arrayListusers包含存在的用户数。如果我们单击列表视图,那么用户的名称将被添加到isFollowing解析数据库的数组中。

我正在使用ParseUser.getCurrentUser().getList("isFollowing").add(users.get(position));将用户名添加到我的数组中,这给了我一个空指针异常。

但如果我使用ParseUser.getCurrentUser.add("isFollowing", users.get(position)),那么它会被正确执行。

为什么会这样?

4

1 回答 1

0

可能在第一刻你的列表没有初始化,所以getList("isFollowing")返回 null。[]在为该字段创建此用户时,您是否设置了一个空数组?

此外,如果您预计此数组会随着时间的推移而增长,并且在某些情况下会超过 20 个项目,那么您将来可能会遇到性能问题。我会使用关系或指针字段来存储这种数据。

于 2020-12-15T16:01:59.347 回答