簡體   English   中英

我如何知道在Android Studio中選擇了哪個單選按鈕

[英]How can I know which radio button is selected in Android studio

我有3個單選按鈕,一旦單擊其中任何一個,它應該更新2個文本視圖。 名稱的一個文本視圖和價格的其他文本視圖。 當我單擊單選按鈕時,名稱會更新,但是我面臨着如何從數組中獲取商品價格的問題。 每個單選按鈕都有不同的定價。

碼:

     pizzaSizeRadioGroup = (RadioGroup) findViewById(R.id.radioGroup);
        pizzaSizeRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
//                Radio button checked
                sizeSelect = (RadioButton) findViewById(checkedId);
                selectedSize.setText(sizeSelect.getTag().toString());

//                how to display the price from array
                sizePrice = array_price_list[].getItem_price();
                totalPriceDisplay.setText(sizePrice);

            }
        });

您可以實現開關RadiogroupcheckedId

pizzaSizeRadioGroup =(RadioGroup)findViewById(R.id.radioGroup);

    pizzaSizeRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() 
    {
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            switch(checkedId){
                case R.id.radio0://Radio button id
                    // do operations specific to this selection
                    break;
                case R.id.radio1://Radio button id
                    // do operations specific to this selection
                    break;
                case R.id.radio2://Radio button id
                    // do operations specific to this selection
                    break;
            }   
        }
    });

或檢查選定的單選按鈕

     int selectedId = pizzaSizeRadioGroup.getCheckedRadioButtonId();

尚不清楚您擁有的價格數組中的值是什么,或者getItem_price()方法的實現是什么。

但是似乎您已經在單選按鈕的標記中設置了名稱,這就是為什么您能夠獲取它並填充selectedSize textview的原因。

據我了解您的問題,您可以采取兩種方法

方法1:創建具有名稱和價格以及ID的披薩對象的列表。 在單選按鈕的標簽中設置ID。 這樣,您既可以使用id來獲取名稱和價格,也可以通過radioButton.getTag()獲得表單。

方法2:將名稱和價格用|連接,例如size1 | 25,並將其設置為單選按鈕的標簽。 然后,可以在getTag上使用split來獲取名稱和價格。

希望這可以幫助您解決問題。

為此,您可以使用開關,請遵循此

radiobuttoncheck.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() 
{
    public void onCheckedChanged(RadioGroup rgroup, int r_id) {
        switch(r_id){
            case R.id.rbid1:
                //show toast here to get idea
                break;
            case R.id.rbid2:

               //show toast here to get idea

                break;
        }   
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM