Attempt to invoke virtual method on a null object reference

Login
public User findUser(String userid) {
User user = dao.select(userid);
return user;
}
Dao
public User select(String userid1){
SQLiteDatabase db = helper.getReadableDatabase();
contentValues = new ContentValues();
User ss = null;
Cursor cursor = db.query("user",null,"userid1=?",new String[]{userid1},null,null,null);
while(cursor.moveToNext()){
@SuppressLint("Range") String userid = cursor.getString(cursor.getColumnIndex("userid"));
@SuppressLint("Range") String userpassword = cursor.getString(cursor.getColumnIndex("userpassword"));
@SuppressLint("Range") String username = cursor.getString(cursor.getColumnIndex("username"));
@SuppressLint("Range") String usersex = cursor.getString(cursor.getColumnIndex("usersex"));
@SuppressLint("Range") int userage = cursor.getInt(cursor.getColumnIndex("userage"));
@SuppressLint("Range") String userwork = cursor.getString(cursor.getColumnIndex("userwork"));
@SuppressLint("Range") String useraddress = cursor.getString(cursor.getColumnIndex("useraddress"));
@SuppressLint("Range") int userrank = cursor.getInt(cursor.getColumnIndex("userrank"));
ss = new User(userid,userpassword,username,usersex,userage,userwork,useraddress,userrank);
}
db.close();
System.out.println(ss);
return ss;
}
这个报错是因为什么原因,该怎么解决这个报错?