Android调用报null

Attempt to invoke virtual method on a null object reference

img

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;
    }
这个报错是因为什么原因,该怎么解决这个报错?

既然提示空指针了,你就应该看看,Login中的dao什么时候初始化的,Login整个代码贴一下