【问题标题】:Listener for RadioButton for change Fragments用于更改片段的 RadioButton 的侦听器
【发布时间】:2013-08-19 19:54:07
【问题描述】:

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

【问题讨论】:

    标签: android oncheckedchanged


    【解决方案1】:

    对于单个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。

    【讨论】:

    • 我有几个类在 FrameLayout 中扩展 Fragment。并更改为单击。 onCheckedChanged 将在那个或更好地使用 onClick 上工作?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-23
    • 1970-01-01
    • 1970-01-01
    • 2014-10-09
    • 1970-01-01
    相关资源
    最近更新 更多