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 的单选组中被选中?