Я новичок в Android, и это мое первое приложение. Я сталкивался с этой проблемой последние несколько дней и просто перестал искать ответ. Я был бы очень признателен за помощь в этом.
Метод sendSelectedItem вызывается при нажатии кнопки. В предложении else if методы setTvText и setTvColor просто игнорируются, предполагается, что они устанавливают текст и цвет TextView, но ничего не делают. Далее следует запрос httpPOST на скрипт php на моем веб-сервере, который возвращает простую строку, эта часть работает нормально.
public void sendSelectedItem(View v){
if(v == findViewById(R.id.btnCancel)){
setTvText("nothing happens");
setTvColor(0);
}
else if (v == findViewById(R.id.btnSend)){
setTvText("selection transmitted");
setTvColor(1);
/*SelectedItemHttpPost si = new SelectedItemHttpPost();
try {
String retResp = si.executeHttpPost(selectedItem);
setTvText(retResp);
setTvColor(2);
}
catch(Exception e){};*/
}
}
У вас есть идея, почему setTvText и setTvColor выполняются, только если оставшийся код закомментирован, как показано выше?
В случае, если это помогает, я вставляю код SelectedItemHttpPost.
Большое спасибо.
public class SelectedItemHttpPost{
private HttpClient client = null;
private HttpPost request = null;
private HttpResponse response = null;
private List<NameValuePair> postParameters = null;
private UrlEncodedFormEntity formEntity = null;
private String responsePHP = "";
private BufferedReader in = null;
private StringBuffer sb = null;
public SelectedItemHttpPost(){
}
public String executeHttpPost(String selectedItem) throws Exception{
try{
client = new DefaultHttpClient();
request = new HttpPost("http://www.somedomain.com/test/test.php");
postParameters = new ArrayList<NameValuePair>();
postParameters.add(new BasicNameValuePair("arg1", selectedItem));
formEntity = new UrlEncodedFormEntity(postParameters);
request.setEntity(formEntity);
response = client.execute(request);
in = new BufferedReader((new InputStreamReader(response.getEntity().getContent())));
sb = new StringBuffer("");
sb.append(in.readLine());
in.close();
responsePHP = sb.toString();
return responsePHP;
}
finally {}
}
}