安卓工作室单选按钮单击选择并单击“录制”按钮

时间:2016-06-04 07:14:53

标签: java android click android-radiogroup

我继承了十个问题。我想做,

1-问题的答案(应该只点击一个按钮)

2-当我转到下一个问题时,请看我点击上一个

的radiobutton的答案

JAVA Class

   public class Sinavsorulari extends Activity {

    TextView tv_soruNum, tv_soru;


    RadioButton rb_a, rb_b, rb_c, rb_d;
    Button btn_sonrakiSoru,btn_oncekiSoru , btn_kaydet;


    String url = "http://192.168.56.2/soru_cekme.php";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sinav_sorulari);



        tv_soruNum=(TextView)findViewById(R.id.tv_soruNum);
        tv_soru=(TextView)findViewById(R.id.tv_soru);
        btn_oncekiSoru=(Button)findViewById(R.id.btn_oncekiSoru);
        btn_sonrakiSoru=(Button)findViewById(R.id.btn_sonrakiSoru);
        btn_kaydet = (Button) findViewById(R.id.btn_kaydet);
        rb_a = (RadioButton) findViewById(R.id.rb_cevapa);
        rb_b = (RadioButton) findViewById(R.id.rb_cevapb);
        rb_c = (RadioButton) findViewById(R.id.rb_cevapc);
        rb_d = (RadioButton) findViewById(R.id.rb_cevapd);

        btn_oncekiSoru.setEnabled(false);
        btn_kaydet.setEnabled(false);
        btn_kaydet.setVisibility(View.INVISIBLE);
        new HttpAsyncTask().execute(url);

    }

    private class HttpAsyncTask extends AsyncTask<String, Void, String> {
        @Override
        protected String doInBackground(String... urls) {
            return GET(urls[0]);
        }
        // onPostExecute displays the results of the AsyncTask.
        @Override
        protected void onPostExecute(final String result) {

           final  String[] cevaplar = new String[20];
            final JSONArray[] jsonarray = {null};
            final String[] soru1 = {null};
            final String[] id_soru1 = {null};
            final int[] y = {0};


            final String[] cvp = new String[24];


                    try {
                        final int[] t = { 0 };
                        jsonarray[0] = new JSONArray(result);


                        final JSONObject obj1 = jsonarray[0].getJSONObject(t[0]);
                        id_soru1[0] = obj1.getString("id_soru");
                        soru1[0] = obj1.getString("baslik_soru");


                        tv_soruNum.setText(id_soru1[0]);
                        tv_soru.setText(soru1[0]);



                        for (int k = 0; k < 4; k++) {
                            cvp[k] = obj1.getString("icerik_cevap");
                           if(k == 0){
                               rb_a.setText(cvp[k]);
                           }else if(k == 1) {
                               rb_b.setText(cvp[k]);
                           }else if(k == 2){
                               rb_c.setText(cvp[k]);
                           }else if(k == 3){
                              rb_d.setText(cvp[k]);
                           }

                        }

                        if ( rb_a.isSelected()){
                            cvp[y[0]]="A";

                        }
                        else if( rb_b.isSelected()){
                            cvp[y[0]] ="B";
                           }
                        else if( rb_c.isSelected()){
                            cvp[y[0]]="C";
                          }
                        else if( rb_d.isSelected()){
                            cvp[y[0]]="D";
                            }
                        else {
                            rb_a.setChecked(false);
                            rb_b.setChecked(false);
                            rb_c.setChecked(false);
                            rb_d.setChecked(false);
                        }


                        final JSONArray finalJsonarray = jsonarray[0];
                        btn_sonrakiSoru.setOnClickListener(new View.OnClickListener() {
                            @Override
                            public void onClick(View v) {
                                try{
                                t[0]+=4;
                                    y[0] +=1;

                                    btn_oncekiSoru.setEnabled(true);
                                JSONObject obj2 = finalJsonarray.getJSONObject(t[0]);
                                id_soru1[0] = obj2.getString("id_soru");
                                soru1[0] = obj2.getString("baslik_soru");


                                tv_soruNum.setText(id_soru1[0]);
                                tv_soru.setText(soru1[0]);
                                    for (int k = 0; k < 4; k++) {
                                        cvp[k] = obj2.getString("icerik_cevap");
                                        if (k == 0) {
                                            rb_a.setText(cvp[k]);
                                        } else if (k == 1) {
                                            rb_b.setText(cvp[k]);
                                        } else if (k == 2) {
                                            rb_c.setText(cvp[k]);
                                        } else if (k == 3) {
                                            rb_d.setText(cvp[k]);
                                        }
                                    }

                                    if ( rb_a.isSelected()){
                                        cvp[y[0]]="A";

                                    }
                                    else if( rb_b.isSelected()){
                                        cvp[y[0]] ="B";
                                     }
                                    else if( rb_c.isSelected()){
                                        cvp[y[0]]="C";
                                        }
                                    else if( rb_d.isSelected()){
                                        cvp[y[0]]="D";
                                       }
                                    else {
                                        rb_a.setChecked(false);
                                        rb_b.setChecked(false);
                                        rb_c.setChecked(false);
                                        rb_d.setChecked(false);
                                    }


                                    int j=t[0] + 4;
                                    if(j == finalJsonarray.length()){
                                        btn_sonrakiSoru.setEnabled(false);
                                        btn_sonrakiSoru.setVisibility(View.INVISIBLE);
                                        btn_kaydet.setVisibility(View.VISIBLE);
                                        btn_kaydet.setEnabled(true);

                                        btn_kaydet.setOnClickListener(new View.OnClickListener() {
                                            @Override
                                            public void onClick(View v) {

                                                btn_oncekiSoru.setEnabled(false);


                                            }
                                        });
                                    }


                                }catch (JSONException e) {
                                    e.printStackTrace();
                                }

                            }
                        });



                        btn_oncekiSoru.setOnClickListener(new View.OnClickListener() {
                            @Override
                            public void onClick(View v) {
                                t[0]-=4;


                                JSONObject obj2 = null;
                                try {
                                    obj2 = finalJsonarray.getJSONObject(t[0]);
                                    id_soru1[0] = obj2.getString("id_soru");
                                    soru1[0] = obj2.getString("baslik_soru");


                                    tv_soruNum.setText(id_soru1[0]);
                                    tv_soru.setText(soru1[0]);

                                    for (int k = 0; k <4; k++) {
                                        cvp[k] = obj2.getString("icerik_cevap");
                                        if (k == 0) {
                                            rb_a.setText(cvp[k]);
                                        } else if (k == 1) {
                                            rb_b.setText(cvp[k]);
                                        } else if (k == 2) {
                                            rb_c.setText(cvp[k]);
                                        } else if (k == 3) {
                                            rb_d.setText(cvp[k]);
                                        }
                                    }

                                    if ( rb_a.isSelected()){
                                        cvp[y[0]]="A";

                                    }
                                    else if( rb_b.isSelected()){
                                        cvp[y[0]] ="B";
                                     }
                                    else if( rb_c.isSelected()){
                                        cvp[y[0]]="C";
                                     }
                                    else if( rb_d.isSelected()){
                                        cvp[y[0]]="D";
                                       }
                                    else {
                                        rb_a.setChecked(false);
                                        rb_b.setChecked(false);
                                        rb_c.setChecked(false);
                                        rb_d.setChecked(false);
                                    }

                                    if( t[0] == 0 ){
                                        btn_oncekiSoru.setEnabled(false);
                                    }
                                } catch (JSONException e) {
                                    e.printStackTrace();
                                }

                            }
                        });


                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }

        }


    public static String GET(String url){
        InputStream inputStream = null;
        String result = "";
        try {
            // create HttpClient
            HttpClient httpclient = new DefaultHttpClient();
            // make GET request to the given URL
            HttpResponse httpResponse = httpclient.execute(new HttpGet(url));
            // receive response as inputStream
            inputStream = httpResponse.getEntity().getContent();
            // convert inputstream to string
            if(inputStream != null)
                result = convertInputStreamToString(inputStream);
            else
                result = "Did not work!";
        } catch (Exception e) {
            Log.d("InputStream", e.getLocalizedMessage());
        }
        return result;
    }

    private static String convertInputStreamToString(InputStream inputStream) throws IOException {
        BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(inputStream));
        String line = "";
        String result = "";
        while((line = bufferedReader.readLine()) != null)
            result += line;
        inputStream.close();
        return result;
    }


    }

和我的.xml

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ffffff">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:id="@+id/tv_soruNum"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:id="@+id/tv_soru"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/tv_soruNum"
        android:layout_toEndOf="@+id/tv_soruNum"
        android:layout_marginLeft="48dp"
        android:layout_marginStart="48dp" />

    <View
        android:layout_width="match_parent"
        android:layout_height="3dp"
        android:layout_below="@+id/tv_soru"
        android:id="@+id/view"
        android:layout_marginBottom="25dp"
        android:layout_marginTop="35dp"
        android:background="#000000" />

    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/rb_cevapa"
        android:layout_below="@+id/view"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:checked="false" />

    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/rb_cevapb"
        android:layout_below="@+id/rb_cevapa"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="52dp"
        android:checked="false" />

    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/rb_cevapc"
        android:layout_below="@+id/rb_cevapb"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="68dp"
        android:checked="false" />

    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/rb_cevapd"
        android:layout_below="@+id/rb_cevapc"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="68dp"
        android:checked="false" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Oncekı"
        android:id="@+id/btn_oncekiSoru"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/btn_sonrakiSoru"
        android:layout_alignTop="@+id/btn_oncekiSoru"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:text="Sonraki" />

    <Button
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Kaydet"
        android:id="@+id/btn_kaydet"
        android:layout_alignTop="@+id/btn_sonrakiSoru"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />


</RelativeLayout>

enter image description here

谢谢你的帮助..

3 个答案:

答案 0 :(得分:0)

对于RadioButton问题,您需要添加RadioGroup,如下例所示。

<RadioGroup xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    <RadioButton android:id="@+id/radio_pirates"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/pirates"
        android:onClick="onRadioButtonClicked"/>
    <RadioButton android:id="@+id/radio_ninjas"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/ninjas"
        android:onClick="onRadioButtonClicked"/>
</RadioGroup>

要显示所选的RadioButton,您可以使用Toast

答案 1 :(得分:0)

使用 RadioGroup refer here

实施例

  

activity.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="20dp">

<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="How do you like the quality of our tutorials?"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<RadioGroup
    android:id="@+id/radioGroup"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <RadioButton
        android:id="@+id/radioButton1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Excellent " />

    <RadioButton
        android:id="@+id/radioButton2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Satisfactory" />

    <RadioButton
        android:id="@+id/radioButton3"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Below Average" />
</RadioGroup>

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <Button
        android:id="@+id/clearBtn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:onClick="onClear"
        android:text="Clear " />

    <Button
        android:id="@+id/submitBtn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:onClick="onSubmit"
        android:text="Submit" />
</LinearLayout>
</LinearLayout>
  

MainActivity.java

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;

public class MainActivity extends Activity {
private RadioGroup radioGroup;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    /* Initialize Radio Group and attach click handler */
    radioGroup = (RadioGroup) findViewById(R.id.radioGroup);
    radioGroup.clearCheck();

    /* Attach CheckedChangeListener to radio group */
    radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            RadioButton rb = (RadioButton) group.findViewById(checkedId);
            if(null!=rb && checkedId > -1){
                Toast.makeText(MainActivity.this, rb.getText(), Toast.LENGTH_SHORT).show();
            }

        }
    });
}

public void onClear(View v) {
    /* Clears all selected radio buttons to default */
    radioGroup.clearCheck();
}

public void onSubmit(View v) {
    RadioButton rb = (RadioButton) radioGroup.findViewById(radioGroup.getCheckedRadioButtonId());
    Toast.makeText(MainActivity.this, rb.getText(), Toast.LENGTH_SHORT).show();
}
}

这可能对你有所帮助。

答案 2 :(得分:0)

对于您的问题,您应该使用RadioGroup

RadioGroup基本上是一组RadioButtons,因此一次只能选择一个RadioButton。虽然您可以对其进行自定义以允许多个选择,但默认情况下,您可以一次选择一个RadioGroup

因此,形成一个RadioButtons包含4 radioGroup = (RadioGroup) findViewById(R.id.myRadioGroup); radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { // find which radio button is selected switch(checkedId){ case R.id.rb_option1: //1st option selected break; case R.id.rb_option2: //2nd option selected break; case R.id.rb_option3: //3rd option selected break; case R.id.rb_option4: //4th option selected break; } } }); 4个选项。

$ input='This is a echo test example echo please help me echo with this echo question'
$ grep -Po '.*?echo' <<< "$input"
This is a echo
 test example echo
 please help me echo
 with this echo

希望这会有所帮助:)

相关问题