我正在制作一个简单的类似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))
,则会正确执行。
为什么会这样?
1条答案
按热度按时间7vhp5slm1#
可能在第一时间你的列表还没有初始化,所以
getList("isFollowing")
返回null。你正在设置一个空的[]
创建此用户到该字段时使用数组?另外,如果您希望这个数组随着时间的推移而增长,并且在某些情况下达到>20个项目,那么将来可能会出现性能问题。我会使用关系或指针字段来存储这种数据。