TextView set Text и Color просто игнорируются - PullRequest
0 голосов
/ 04 января 2011

Я новичок в 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     {}
}

}

1 Ответ

0 голосов
/ 04 января 2011

Метод OnCreate, вам нужно создать объект кнопки, что-то вроде:

btnCancel = (Button) findViewById (R.id.btnCancel);

и затем нажмите на объект кнопки, нажимая на него:

if(v == btnCancel)
{
        setTvText("nothing happens");
        setTvColor(0);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...