bmob实现账号登陆时报空指针异常

问题是这样的
图片说明
这是我的源代码找了一下发觉似乎没有解决的方案也不太清楚问题出现在哪里

    b_login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                BmobUser userlogin = new BmobUser();
                userlogin.setUsername(e_username.getText().toString());
                userlogin.setPassword(e_password.getText().toString());
                userlogin.login(new SaveListener<BmobUser>() {
                    @Override
                    public void done(BmobUser bmobUser, BmobException e) {
                        if (e == null)
                        {
                            Toast.makeText(MainActivity.this,bmobUser.getUsername()+"登陆成功",Toast.LENGTH_SHORT).show();

                        }
                        else
                        {
                            Log.e("登陆失败","error:",e);
                        }
                    }
                });
            }
        });

BmobUser userlogin = new BmobUser();
userlogin.setUsername(e_username.getText().toString());
userlogin.setPassword(e_password.getText().toString());
把这些放到点击事件外面,b_login.setOnClick,
点击时初始化本来就会报空指针

配置ContentProvider¶
<application>
···
<provider
    android:name="cn.bmob.v3.util.BmobContentProvider"
    android:authorities="你的应用包名.BmobContentProvider">
</provider>
···
</application>