0

選択したラジオボタンのテキストを取得する方法 (私はカスタマイズしました)

以下のように、グループにラジオボタンのセットがあります

  • 朝ごはん
  • ランチ
  • 夕食

ラジオボタングループなので、そのうちの1つだけが選択されます

画像

選択したラジオボタンのテキストを取得し、次のアクティビティにインテントとして渡す方法

何か案は ?


から値を取得することで次のアクティビティにインテントを渡す方法を知っていますが、Edittextこれを行うことはできませんradio button group!

私が これを試したのは、編集テキストから値を取得するために行った方法です::

EditText City;     
Search=(Button) findViewById(R.id.SEARCH_BUTTON_ID);
            Search.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {

                    Intent searchIntent=new Intent(SearchPage.this,AndroidTabRestaurantDescSearchListView.class);
                    searchIntent.putExtra("REST",City.getText().toString());
                    startActivity(searchIntent);
                }
            });

ラジオボタングループで述べたのと同じことをどのように達成できますか!

4

2 に答える 2

1

ラジオ ボタンの各グループは、グループ内にある必要があります。これは、XML ファイルで既に行っていると思います。

それを仮定すると、次のようにして、チェックされたラジオボタンの ID を取得します。

int id = ((RadioGroup)findViewById( R.id.radio_group )).getCheckedRadioButtonId();

アクティビティのどこでもそれを行うことができます。または、フラグメントを使用している場合は、それに getView() を入れるだけです:

int id = ((RadioGroup)getView().findViewById( R.id.radio_group )).getCheckedRadioButtonId();
So I would change your onClick:

public void onClick(View v) {
    // Create a new Intent
    Intent i = new Intent(v.getContext(), FeedbackResults.class);

    choice = (String)county.getSelectedItem();
    int id = ((RadioGroup)findViewById( R.id.radio_group )).getCheckedRadioButtonId();
    atmos = getAtmos( id );
    ...
}

private int getAtmos( int id ) {
    switch( id ) {
        case R.id.arad1:
            atmos = "1";
            break;
        case R.id.arad2:
            atmos = "2";
            break;
        case R.id.arad3:
            atmos = "3";
             break;
        case R.id.arad4:
            atmos = "4";
        break;
        case R.id.arad5:
            atmos = "5";
            break;
    }

    return atmos;
}
于 2013-10-11T04:10:57.637 に答える
1
// try this
**xml**
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:padding="5dp"
              android:orientation="vertical"
              android:gravity="center" >
    <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">
        <RadioGroup
                android:id="@+id/rdg"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal">

            <RadioButton
                    android:id="@+id/breakFast"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:button="@null"
                    android:text="BreakFast"/>

            <RadioButton
                    android:id="@+id/lunch"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="10dp"
                    android:button="@null"
                    android:text="Lunch"/>

            <RadioButton
                    android:id="@+id/dinner"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="10dp"
                    android:button="@null"
                    android:text="Dinner"/>

        </RadioGroup>
    </LinearLayout>
    <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/SEARCH_BUTTON_ID"
            android:layout_marginTop="10dp"
            android:text="Search"/>
</LinearLayout>

**Activity**
 private RadioGroup rdg;
    private RadioButton breakFast;
    private RadioButton lunch;
    private RadioButton dinner;
    private String selectedType="";
    private Button Search;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        rdg = (RadioGroup) findViewById(R.id.rdg);
        breakFast = (RadioButton) findViewById(R.id.breakFast);
        lunch = (RadioButton) findViewById(R.id.lunch);
        dinner = (RadioButton) findViewById(R.id.dinner);
        Search=(Button) findViewById(R.id.SEARCH_BUTTON_ID);
        breakFast.setSelected(true);
        rdg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup radioGroup, int i) {
                if(i==R.id.breakFast){
                    selectedType = breakFast.getText().toString();
                }else if(i==R.id.lunch){
                    selectedType = lunch.getText().toString();
                }else{
                    selectedType = dinner.getText().toString();
                }
            }
        });


        Search.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                Intent searchIntent=new Intent(SearchPage.this,AndroidTabRestaurantDescSearchListView.class);
                searchIntent.putExtra("REST",selectedType);
                startActivity(searchIntent);
            }
        });
    }
于 2013-10-11T04:21:09.753 に答える