-5

我有一个复选框,我想为该复选框设置一个键值并将其发送到 Web 服务。如果复选框被选中,则意味着我必须显示一个键,如果未选中则意味着它必须显示另一个键。

我怎样才能做到这一点?

CheckBox chalan_recvd=(CheckBox)findViewById(R.id.chalan_recvd);
{
    if (chalan_recvd.isChecked()) {
        chalan_recvd.setChecked(true);
    } else { 
        chalan_recvd.setChecked(false);
    }
}

//我的代码用于在 Web 服务中发送数据

字符串 checkbox1=chalan_recvd.getText().toString();

    HttpParams httpParams = new BasicHttpParams();
    HttpConnectionParams.setConnectionTimeout(httpParams,
            TIMEOUT_MILLISEC);
    HttpConnectionParams.setSoTimeout(httpParams, TIMEOUT_MILLISEC);

    HttpParams p = new BasicHttpParams();

p.setParameter("chalan_recvd",Util.removeSpace(checkbox1));

//在Url里面

nameValuePairs.add(new BasicNameValuePair("chalan_recvd", Util.removeSpace(checkbox1)));

4

2 回答 2

3

您所做的实际上没有任何意义,因为如果选中了复选框,则该值将是true,如果不是,那么false无论如何它都会有。相反,您需要将您的if-else条件更改为类似这样。

// I hope this code snippet is present in the onCreate() method of the activity 
// which has the layout containing this CheckBox set
String key = null;
CheckBox chalan_recvd = (CheckBox) findViewById(R.id.chalan_recvd);
if(chalan_recvd.isChecked()) {
    // Use the key 1 for your webservice
    key = "key1";
} else {
    // Use the key 2 for your webservice
    key = "key2";
}

// Now just send the key to your webservice
String checkbox1 = key;
于 2013-10-14T12:18:43.537 回答
0
boolean deciding_flag;
CheckBox chalan_recvd = (CheckBox) findViewById(R.id.chalan_recvd);
{
     if (chalan_r`enter code here`ecvd.isChecked())
    {
        chalan_recvd.setChecked(true);
        deciding_flag = true;
        hashmap.put("key", deciding_flag);
    }
     else
        {
            chalan_recvd.setChecke`enter code here`d(false);
            deciding_flag = false;
        hashmap.put("key", deciding_flag);
        }

/* 在哈希映射中,我们将布尔值作为一个标志,现在在获取该值时,如果该标志值为真,那么这是你的第一个值,否则它的第二个值。*/

于 2013-10-14T15:05:42.770 回答