2017-01-04 6 views
0

作成しているアプリの登録フォームを作成しています。それには、名字、姓、電子メール、電話番号、パスワード、生年月日、性別が含まれます。明らかにラジオボタンを使用して、ラジオグループの性別。私はネットワークデータに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."); 
    } 
} 
} 

答えて

0

選択RadioButton IDチェックを知るために:依存関係を追加、Volleyを使用してデータを送信するには

// 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. 

を:

compile 'com.android.volley:volley:1.0.0' 

バレー法サーバーにデータを送信します

   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 
      } 

は詳細Here

注するためのリンクを訪問しなければならない:この例は、単なるデモンストレーションの目的のためであり、ユーザーが求めて正確な答えが含まれていない、示されているプロセスを使用して、あなたのアイデアを適用する必要があります/論理。

0

ラジオボタンではなくラジオボタンに直接アクセスします。

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> 
関連する問題