Android - 使用单选组,有七个单选按钮,只需要 0-6 的值

Posted

技术标签:

【中文标题】Android - 使用单选组,有七个单选按钮,只需要 0-6 的值【英文标题】:Android - Working with Radio Groups, have seven radio buttons, just need value from 0-6 【发布时间】:2011-07-20 14:23:49 【问题描述】:

我真的是 android 新手,正在尝试做一些我认为应该很简单的事情。

我有两个活动,一个 MainActivity 和一个 Intent。 Intent 基本上是一组 7 个单选按钮和一个确定和取消按钮。

我正在尝试从 MainActivity 发送一个值(从 0-6 或 1-7)以在单选组中设置选中的单选按钮,然后将一个值(从 0-6 或 1-7)返回给MainActivity 取决于它在单选组中选择的选项。据我所知 getCheckedRadioButtonId() 没有返回我需要的内容。

到目前为止,这是我的代码。

主活动:

package com.android.phil.buttontest;

导入android.app.Activity; 导入android.content.Intent; 导入android.os.Bundle; 导入android.view.View; 导入android.widget.Button; 导入android.widget.Toast;

公共类 MainActivity 扩展 Activity 受保护的静态最终 int SUB_ACTIVITY_REQUEST_CODE = 1337; int maType = 1;

@Override
public void onCreate(Bundle savedInstanceState) 

    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    final Button button = (Button) findViewById(R.id.setMA);
    button.setOnClickListener(new View.OnClickListener() 
    
        public void onClick(View arg0) 
        
              Intent intent = new Intent(MainActivity.this, maTypeActivity.class);

              Bundle b = new Bundle();
              b.putInt("maType", maType);
              intent.putExtras(b);
              startActivityForResult(intent,SUB_ACTIVITY_REQUEST_CODE);
        
    );



protected void onActivityResult(int requestCode, int resultCode,Intent data) 

        super.onActivityResult(requestCode, resultCode, data );

        // Here We identify the subActivity we started
        if(requestCode == SUB_ACTIVITY_REQUEST_CODE)
        
            Bundle extras = data.getExtras();
            maType = extras.getInt("maType");
            Toast.makeText(this, "The data returned is: "+maType, Toast.LENGTH_SHORT).show();
        

子活动

package com.android.phil.buttontest;

导入android.app.Activity; 导入android.content.Intent; 导入android.os.Bundle; 导入android.view.View; 导入android.widget.Button; 导入android.widget.RadioGroup; 导入android.widget.Toast;

公共类 maTypeActivity 扩展了 Activity 无线电组无线电组1; 按钮确定; 按钮取消;

int maType = 0;
protected final int RESULT_OK = 1;

@Override
public void onCreate(Bundle icicle)

   super.onCreate(icicle);
   setContentView(R.layout.ma_type);

   Bundle b = this.getIntent().getExtras();
   maType = b.getInt("maType");
   radioGroup1 = (RadioGroup) findViewById(R.id.radioGroup1);
   radioGroup1.check(maType);

   Button ok = (Button) findViewById(R.id.okButton);
   Button cancel = (Button) findViewById(R.id.cancelButton);
   ok.setOnClickListener(new View.OnClickListener() 
   
       public void onClick(View v) 
       
           maType = radioGroup1.getCheckedRadioButtonId();
           Intent data = new Intent();                             
           data.putExtra("MAType",maType);                 
           maTypeActivity.this.setResult(RESULT_OK, data);
           maTypeActivity.this.finish();
       
   );

   cancel.setOnClickListener(new View.OnClickListener() 
   
       public void onClick(View v) 
       
           maTypeActivity.this.finish();
       
   );
     

【问题讨论】:

我和你有同样的问题,想知道你是怎么解决的 【参考方案1】:

如果您想知道答案,请告诉我,我已经解决了这个问题,我可以为您提供一些详细信息。

菲尔

【讨论】:

以上是关于Android - 使用单选组,有七个单选按钮,只需要 0-6 的值的主要内容,如果未能解决你的问题,请参考以下文章

如何检查单选按钮是不是在 Android 的单选组中被选中?

使用 PHP 和 MySQL 进行自我发布的动态单选按钮

我每次只允许 1 个单选按钮

如何修复在 Android 中崩溃的活动的重新启动?

android.widget.RadioGroup 不能转换为 android.widget.RadioButton

我如何在我的 html 中只选择 1 个单选按钮