Имеем следующий код:
if (post) { HttpPost request = new HttpPost(url); Log.i(TAG, "Posting URL: " + url); } else { HttpGet request = new HttpGet(url); Log.i(TAG, "Getting URL: " + url); } ... if (signed) { OAuthConsumer consumer = getConsumer(prefs); consumer.sign(request); // here is the error }
Как это исправить?
Вы должны определить свой запрос вне оператора if:
if
HttpRequestBase request = null; if (post) { request = ... } else { request = ... }
в противном случае ваша область действия переменной request ограничена телом оператора if.
request
request объявлено внутри if (post) {..} и снова в else{..}, поэтому оно существует только до конца блока.Чтобы исправить это, объявите request вне блока if как HttpRequestBase request = null; и создайте для него экземпляр нужного типа в блоке if-else.(оба HttpPost и HttpGet расширяются HttpRequestBase.
if (post) {..}
else{..}
HttpRequestBase request = null;
HttpPost
HttpGet
HttpRequestBase