मैं json android का उपयोग करके सर्वर पर रेडियो बटन वैल्यू और स्विच केस विकल्प कैसे भेज सकता/सकती हूं?




switch-statement radio-group (3)

मैं एक पंजीकरण फार्म बनाने की कोशिश कर रहा हूं जहां सभी मान सर्वर पर बचत कर रहे हैं, लेकिन मुझे पता नहीं है कि रेडियो बटनों का मूल्य कैसे भेजा जाए और स्विच विकल्प बटनों को 'सर्वर पर मान' मैंने रेडियो बटन के लिए इसे लागू करने की कोशिश की, लेकिन जब यह गतिविधि खुलती है, तो यह केवल रेडियो बटन मान दिखाता है जो केवल एक बार ही होता है कृपया मुझे रेडियो बटन और स्विच दोनों के लिए ऐसा करने का सही तरीका बताएं?

पंजीकरण गतिविधि

package com.example.zeba.broccoli;

import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Switch;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.Toast;

import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONException;
import org.json.JSONObject;

import java.util.ArrayList;
import java.util.List;

public class RegistrationForm extends AppCompatActivity {

    EditText fn,ln,mb,em,pw,cpw,dob,gen;
    Switch sw;
    RadioGroup male,feml;
    Switch swth;
    private ProgressDialog pDialog;



    private static String url_create_book = "http://cloud.....com/broccoli/creatinfo.php";

    // JSON Node names
    private static final String TAG_SUCCESS = "success";




    JSONParser jsonParser = new JSONParser();
    private int serverResponseCode = 0;
    Context c;
    int i=0;


    Button sub;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_registration_form);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);


         fn=(EditText)findViewById(R.id.fnm) ;
       ln=(EditText)findViewById(R.id.lnm) ;
         mb=(EditText)findViewById(R.id.mobile) ;
         em=(EditText)findViewById(R.id.email) ;
        pw=(EditText)findViewById(R.id.pass) ;
         cpw=(EditText)findViewById(R.id.cpass) ;


        RadioButton male=(RadioButton)findViewById(R.id.rgm) ;

        RadioButton feml=(RadioButton)findViewById(R.id.rgf) ;

        Switch swth=(Switch)findViewById(R.id.mySwitch) ;

        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        sub=(Button)findViewById(R.id.sub2);

        addListenerOnButton();

        sub.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) { 
                new CreateNewProduct().execute();
                // startActivity(new Intent(RegistrationForm.this, Home.class)); 
            }
        });
    }

    public void addListenerOnButton() {
        RadioGroup rgrp=(RadioGroup)findViewById(R.id.rg);
        RadioButton radioButton;
        // get selected radio button from radioGroup
        int selectedId = rgrp.getCheckedRadioButtonId();

        // find the radiobutton by returned id
        radioButton = (RadioButton) findViewById(selectedId);

        Toast.makeText(RegistrationForm.this,
                radioButton.getText(), Toast.LENGTH_SHORT).show();

    }

    class CreateNewProduct extends AsyncTask<String, String, String> {
        private  String fname;
        private  String lname;
        private  String email;

        /**
         * Before starting background thread Show Progress Dialog
         * */
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            pDialog = new ProgressDialog(RegistrationForm.this);
            pDialog.setMessage("Creating books..");
            pDialog.setIndeterminate(false);
            pDialog.setCancelable(true);
            pDialog.show();
            fname = fn.getText().toString();
            lname = ln.getText().toString();
            email = em.getText().toString();
        }

        protected String doInBackground(String... args) {
            // Building Parameters
            List<NameValuePair> params = new ArrayList<NameValuePair>();
            params.add(new BasicNameValuePair("First_Name", fname));
            params.add(new BasicNameValuePair("Last_Name",lname));
            params.add(new BasicNameValuePair("email", email));

            // getting JSON Object
            // Note that create product url accepts POST method
            JSONObject json = jsonParser.makeHttpRequest(url_create_book,
                    "POST", params);

            // check log cat fro response
            Log.d("Create Response", json.toString());

            // check for success tag
            try {
                int success = json.getInt(TAG_SUCCESS);

                if (success == 1) {
                    // successfully created product
                    Intent i = new Intent(getApplicationContext(), Login.class);
                    startActivity(i);

                    // closing this screen
                    finish();
                } else {
                    // failed to create product
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }

            return null;
        }

        /**
         * After completing background task Dismiss the progress dialog
         * **/
        protected void onPostExecute(String file_url) {
            // dismiss the dialog once done
            pDialog.dismiss();
        }

    }


    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home:
                onBackPressed();
                return true;
            default:
                return super.onOptionsItemSelected(item);
        }
    }

}

एक्सएमएल फाइल

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.zeba.broccoli.Login">




<!-- Registration Form -->
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:padding="20dip"
            android:orientation="vertical"
            android:layout_marginTop="20dp"
            android:layout_alignParentTop="true"
            android:layout_alignParentStart="true">
            <!-- Full Name Label -->

            <EditText android:id="@+id/fnm"

                android:hint="First Name"
                android:layout_width="fill_parent"
                android:background="@drawable/rounded_edittext"
                android:layout_height="40dp"
                android:paddingLeft="5dp"
                android:layout_marginTop="30dp"

                android:layout_marginBottom="20dip"/>

            <EditText android:id="@+id/lnm"

                android:hint="Last Name"
                android:layout_width="fill_parent"
                android:background="@drawable/rounded_edittext"
                android:layout_height="40dp"
                android:paddingLeft="5dp"

                android:layout_marginBottom="20dip"/>


            <EditText android:id="@+id/mobile"
                android:layout_width="fill_parent"

                android:layout_height="40dp"
                android:paddingLeft="5dp"
                android:background="@drawable/rounded_edittext"
                android:hint="Mobile Number"
                android:layout_marginBottom="20dip"/>
            <!-- Password Label -->


            <EditText android:id="@+id/email"
                android:layout_width="fill_parent"
                android:hint="Email"
                android:layout_height="40dp"
                android:paddingLeft="5dp"
                android:background="@drawable/rounded_edittext"

                android:layout_marginBottom="20dip"/>

            <EditText android:id="@+id/pass"
                android:layout_width="fill_parent"
                android:hint="password"
                android:inputType="textPassword"
                android:layout_height="40dp"
                android:paddingLeft="5dp"
                android:background="@drawable/rounded_edittext"

                android:layout_marginBottom="20dip"/>
            <!-- Register Button -->



            <EditText android:id="@+id/cpass"
                android:layout_width="fill_parent"
                android:layout_height="40dp"
                android:paddingLeft="5dp"
                android:inputType="textPassword"
                android:background="@drawable/rounded_edittext"
                android:hint="Confirm password"
                android:layout_marginBottom="20dip"/>


            <EditText android:id="@+id/dob"
                android:layout_width="fill_parent"
                android:layout_height="40dp"
                android:paddingLeft="5dp"
                android:background="@drawable/rounded_edittext"
                android:hint="Date of Birth(Optional)"
                android:layout_marginBottom="20dip"/>
            <!-- Register Button -->


            <!-- Link to Login Screen -->


            <TextView
                android:id="@+id/gen"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="20dip"
                android:text="Gender"
                android:textSize="18dp"/>


            <RelativeLayout

                android:layout_width="match_parent"
                android:layout_height="match_parent"

                tools:context=".MainActivity"
                >
                <RadioGroup
                    android:id="@+id/rg"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal"
                    >
                    <RadioButton
                        android:id="@+id/rgm"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="left"
                        android:checked="true"

                        android:layout_weight="1"
                        android:textSize="14dp"
                        android:text="Male"
                        />
                    <RadioButton
                        android:id="@+id/rgf"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="right"
                        android:checked="false"

                        android:layout_weight="1"
                        android:textSize="14dp"
                        android:text="Female"
                        />
                </RadioGroup>
            </RelativeLayout>



            <View
                android:layout_width="fill_parent"
                android:layout_height="2dp"
                android:background="#c0c0c0"/>



            <TextView android:id="@+id/rupdates"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dip"
                android:layout_marginBottom="20dip"
                android:text="Receive updates on offers, promotions and discounts"
                android:gravity="center"
                android:textSize="20dip"
                />

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                tools:context=".MainActivity"
                android:padding="5dp">

                <TextView android:id="@+id/sms"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="20dip"
                    android:text="Subscribe to sms"

                    android:textSize="20dip"
                    />

                <Switch
                    android:id="@+id/mySwitch"
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:layout_alignParentRight="true" />


                <Button
                    android:id="@+id/sub2"
                    style="?android:textAppearanceSmall"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="40dp"
                    android:text="Submit"
                    android:background="@drawable/mybutton"

                    android:textColor="#fff"
                    android:textStyle="bold"
                    android:elevation="0dp" />


            </RelativeLayout>






        </LinearLayout>
        <!-- Registration Form Ends -->
</ScrollView>

आप OnCheckedChangedListener से चेक किए गए रेडियो बटन का मूल्य प्राप्त कर सकते हैं

rgrp.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener()
    {
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            // checkedId is the RadioButton selected
            RadioButton rb=(RadioButton)findViewById(checkedId);
            Toast.makeText(getApplicationContext(), rb.getText(), Toast.LENGTH_SHORT).show();
        }
    });

एक वैश्विक स्ट्रिंग चर लैंग और बूलियन वैरिएबल स्विचवॉल जोड़ें।

String gender="Male" ;
boolean switchValue = false ;

RadioGroupListener विधि के अंदर

 public void addListenerOnButton() {
    RadioGroup rgrp=(RadioGroup)findViewById(R.id.rg);
    rgrp.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup radioGroup, int i) {
            if(i==R.id.rgm){
              gender="Male" ; 
             }else{
              gender="Female";
         }
    }
    });
    Toast.makeText(RegistrationForm.this,
            radioButton.getText(), Toast.LENGTH_SHORT).show();

}

स्विच स्थिति प्राप्त करने के लिए

switchValue = swth.isChecked();

यह मेरे लिए काम करता है रेडियो बटन के बाहर की कोशिश करो

radio_button_value1 = ((RadioButton) findViewById(radioGroup1.getCheckedRadioButtonId())).getText().toString();

ऊपर कोड रेडियो बटन का मूल्य प्राप्त करना है

इस कोड को बदल दें

// get selected radio button from radioGroup
        int selectedId = rgrp.getCheckedRadioButtonId();

इस कोड और परीक्षण के साथ

// get selected radio button from radioGroup
 int selectedId = rgrp.getCheckedRadioButtonId().getText().toString();

आशा है कि यह अपडेट किया गया कोड आपको मदद करता है। आपको बस को बदलने और जांचना होगा





radio-group