我需要使用选项卡(RadioButton)在应用程序中切换 fragment 。我应该使用什么事件监听器? onClick 还是 onCheckedChanged?如果可以举例

最佳答案

对于单个 RadioButton,您可以使用 OnClickListener 如下:

         OnClickListener listener = new OnClickListener() {
               @Override
               public void onClick(View v) {
                      RadioButton rb = (RadioButton) v;
                      Toast.makeText(your_Activity.this, rb.getText(),
                      Toast.LENGTH_SHORT).show();
               }
         };

         RadioButton rb1 = (RadioButton) findViewById(R.id.radioButton1);
         rb1.setOnClickListener(listener);

RadioGroup 的情况下,您需要使用 OnCheckedChangeListener 如下:
    RadioGroup radioGroup = (RadioGroup) findViewById(R.id.yourRadioGroup);

    radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener()
    {
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            // checkedId is the RadioButton selected

            switch(checkedId) {
                  case R.id.radioButton1:
                       // switch to fragment 1
                       break;
                  case R.id.radioButton2:
                      // Fragment 2
                      break;
                  case R.id.radioButton3:
                      // Fragment 3
                      break;
            }
        }
    });

onCheckedChanged 回调在 checkedId 参数中接收新选中按钮的 ID。

关于android - 用于更改 fragment 的单选按钮的监听器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18321994/

10-10 20:08