How can I set the local variable publicIpAddress inside the onResponse() callback below? The line "publicIpAddress = response" has the error "final local variable publicIpAddress cannot be assigned, since it is defined in an enclosing type"
public static String getPublicIpAddress(Context context)
{
String publicIpAddress = "";
StringRequest jsonObjectRequest = new StringRequest(Request.Method.GET,
"http://icanhazip.com/",
new Response.Listener<String>()
{
@Override
public void onResponse(String response) {
publicIpAddress = response;
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e(TAG, "Error in getPublicIpAddress()");
}
});
VolleySingleton.getInstance(context).addToRequestQueue(jsonObjectRequest);
return publicIpAddress;
}