我有一个复选框,我想为该复选框设置键值并将其发送到json Web服务

时间:2013-10-14 12:17:01

标签: java android

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

我该怎么做?

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

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

String 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));

//在网址内

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

2 个答案:

答案 0 :(得分: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;

答案 1 :(得分: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);
        }

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