![](/img/trans.png)
[英]How to uncheck all radio buttons in a radio group, when a radio button is checked in Android?
[英]How to send data of radio buttons/radio group using volley when checked
我正在為我正在創建的應用程序填寫注冊表。 它包括名字,姓氏,電子郵件,電話號碼,密碼,生日和性別。 單選組中的性別,顯然使用單選按鈕。 我正在使用Volley來聯網數據。 如何使用截擊傳遞檢查的單選按鈕值?
到目前為止,這是我的Java代碼:
public class B_Register extends AppCompatActivity implements View.OnClickListener {
public static final String REGISTER_URL = "http://10.0.0.245/register_alex's_app.php";
public static final String FNAME_REGISTER = "first_name";
public static final String LNAME_REGISTER = "last_name";
public static final String EMAIL_REGISTER = "email_register";
public static final String USERNAME_REGISTER = "username_register";
public static final String PHONE_NUMBER_REGISTER = "phone_register";
public static final String PASSWORD_REGISTER = "password_register";
public static final String BDAY_REGISTER = "bday_register";
private EditText fname;
private EditText lname;
private EditText email;
private EditText phone_number;
private EditText new_username;
private EditText new_password;
private EditText bday;
private RadioGroup gender;
private Button register_btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.b_register);
fname = (EditText)findViewById(R.id.first_name_et);
lname = (EditText)findViewById(R.id.last_name_et);
email = (EditText)findViewById(R.id.email_et);
phone_number = (EditText)findViewById(R.id.phone_et);
new_username = (EditText)findViewById(R.id.username_et);
new_password = (EditText)findViewById(R.id.password_et);
bday = (EditText)findViewById(R.id.bday_et);
gender = (RadioGroup)findViewById(R.id.gender_register);
register_btn = (Button)findViewById(R.id.register_btn);
register_btn.setOnClickListener(this);
}
public void onTermsOfUseClick(View view) {
}
@Override
public void onClick(View view) {
final String firstName = fname.getText().toString().trim();
final String lastName = lname.getText().toString().trim();
final String new_email = email.getText().toString().trim();
final String newPhoneNumber = phone_number.getText().toString().trim();
final String userName = new_username.getText().toString().trim();
final String newPassword = new_password.getText().toString().trim();
final String bDay = bday.getText().toString().trim();
if(TextUtils.isEmpty(firstName)) {
fname.setError("Please enter your first name.");
return;
}else if(TextUtils.isEmpty(lastName)) {
lname.setError("Please enter your last name.");
return;
}else if(TextUtils.isEmpty(new_email)) {
email.setError("Please enter your email.");
return;
}else if(TextUtils.isEmpty(newPhoneNumber)) {
phone_number.setError("Please enter your phone number.");
return;
}else if(TextUtils.isEmpty(userName)) {
new_username.setError("Please enter a valid username, 5-25 characters.");
return;
}else if (TextUtils.isEmpty(newPassword)) {
new_password.setError("Please enter valid password, 5-15 characters.");
}else if (TextUtils.isEmpty(bDay)) {
bday.setError("Please enter your birth day.");
}
}
}
要知道選中的RadioButton
id,請執行以下操作:
// get selected radio button from radioGroup
int selectedId = radioGroup.getCheckedRadioButtonId();
// find the radiobutton by returned id
radioButton = (RadioButton) findViewById(selectedId);
String radio_value = radioButton.getText(); //by this you will get the male or female text which will be used in sending to server.
要使用Volley
發送數據,請添加依賴項:
compile 'com.android.volley:volley:1.0.0'
將數據發送到服務器的Volley方法:
try {
// initialize request to connect the server, via POST method and Server URl
StringRequest stringRequest = new StringRequest(Request.Method.POST, your_url,
new Response.Listener<String>() {
// catch JSON response from server
@Override
public void onResponse(final String response) {
// response from server
}
},
// catch error response from server
new Response.ErrorListener() {
@Override
public void onErrorResponse(final VolleyError error) {
// trace error message from server
}
}){
@Override
protected Map<String,String> getParams(){
Map<String,String> params = new HashMap<String, String>();
// map the string value, to send in server
params.put("name",string_value_of_name);
params.put("sex",string_value_of_sex);
.... //like more
return params;
}
};
// execute the request
RequestQueue requestQueue = Volley.newRequestQueue(your_activity_context.this);
requestQueue.add(stringRequest);
}catch (final Exception e){
//catch exception
}
必須訪問鏈接以獲取更多詳細信息。
注意:此示例僅用於演示目的,不包含用戶要求的確切答案,必須使用顯示的過程/邏輯來應用您的想法。
直接訪問單選按鈕,而不是單選按鈕組。
RadioButton male = (RadioButton) findViewById(R.id.male);
boolean isMale = male.isChecked();
請記住標記您的單選按鈕。
<RadioGroup
android:id="@+id/gender_register"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<RadioButton
android:id="@+id/male"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/radio_male"
android:checked="true" />
<RadioButton
android:id="@+id/female"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/radio_female" />
</RadioGroup>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.