【发布时间】:2015-12-15 12:14:20
【问题描述】:
我在容器类中有一个名为facebookCheckEmail()(下)的函数,我想更改public void onResponse(FbCheckObject fbCheckObject) {} 的facebookCheckEmail() 中容器类的变量值(fbresponse),我该怎么做?
private void facebookCheckEmail( String email ) {
fbCheckEmail_params = new HashMap<String, String>();
fbCheckEmail_params.put("Email", email);
final GsonRequest<FbCheckObject> gsonRequest = ApiRequest.gsonFacebookCheckEmailRequest
(
new Response.Listener<FbCheckObject>() {
@Override
public void onResponse(FbCheckObject fbCheckObject) {
try {
System.out.println("Status = " + fbCheckObject.getStatus());
if (new String(fbCheckObject.getStatus()).equals("ok") == true) {
fbresponse = "ok";
} else if(new String(fbCheckObject.getStatus()).equals("no") == true){
fbresponse = "no";
}
} catch (Exception e) {
Log.d("Web Service Error", e.getMessage());
e.printStackTrace();
}
}
}
,
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// Deal with the error here
}
},
fbCheckEmail_params
);
AppController.getInstance().addToRequestQueue(gsonRequest, TAG);
}
我的容器类是:
public class MainLoginActivity extends Activity {
public String fbresponse = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
.......
}
..........
private void facebookCheckEmail( String email ) {
......
}
}
注意:在“@Override public void onResponse(FbCheckObject fbCheckObject) {}”内,如果不成功,fbresponse 值将成功分配给“ok”或“no”,但如果我在System.out.printInfbresponse 之外的任何地方,我将得到“null”
【问题讨论】:
-
据我所知,您确实更改了变量。或者它没有编译?什么没有按预期工作
-
当我 System.out.println() fbresponse 在新的 Response.Listener
() {} 范围之外它返回“null” -
代码示例中缺少某些内容。您正在为变量分配一个空白,然后将其更改为“ok”或“no”。我没有看到 NULL 应该在哪里分配给变量。
-
从 fbresponse = ""; 更改后为空回应;
标签: java android android-volley inner-classes gson