Android 如何从无线电组获取已检查无线电的id
我已经创建了动态单选组,因为每个组都有三个单选按钮,所以选中更改侦听器如何在单选组中获取单选按钮的id…提前感谢Android 如何从无线电组获取已检查无线电的id,android,android-layout,android-radiogroup,android-radiobutton,Android,Android Layout,Android Radiogroup,Android Radiobutton,我已经创建了动态单选组,因为每个组都有三个单选按钮,所以选中更改侦听器如何在单选组中获取单选按钮的id…提前感谢 public class Rate_me_up extends Activity implements OnClickListener, OnCheckedChangeListener { LinearLayout layout; @Override protected void onCreate(Bundle savedInstan
public class Rate_me_up extends Activity implements OnClickListener,
OnCheckedChangeListener {
LinearLayout layout;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.rate_me_up);
layout = (LinearLayout) findViewById(R.id.linear);
Button btnp = (Button) findViewById(R.id.buttonp);
btnp.setOnClickListener(this);
}
@Override
public void onClick(View v) {
RadioGroup radioGroup = new RadioGroup(Rate_me_up.this);
radioGroup.setOrientation(1);
LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
layout.addView(radioGroup, p);
RadioButton radioButtonView = new RadioButton(Rate_me_up.this);
radioButtonView.setText("RadioButton");
radioButtonView.setChecked(false);
radioGroup.addView(radioButtonView, p);
RadioButton radioButtonView2 = new RadioButton(Rate_me_up.this);
radioButtonView2.setText("RadioButton2");
radioButtonView2.setChecked(false);
radioGroup.addView(radioButtonView2, p);
RadioButton radioButtonView3 = new RadioButton(Rate_me_up.this);
radioButtonView3.setText("RadioButton2");
radioGroup.addView(radioButtonView3, p);
radioButtonView3.setChecked(false);
radioGroup.setOnCheckedChangeListener(this);
}
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
}
}
字段签入
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
}
会给你检查过的radioButton的id
编辑:
这样做:
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch(checkedId){
case R.id.radio1: //assumed id of radioButton1
//statements
break;
case R.id.radio2:
.
break; //so on
}
}
对于动态单选按钮,通过从那里获取id进行比较
比如radioButton1.getId() 这将帮助您:
int index = myRadioGroup.indexOfChild(findViewById(myRadioGroup.getCheckedRadioButtonId()));
首先通过
setId()
设置单选按钮的id
@Override
public void onClick(View v) {
RadioGroup radioGroup = new RadioGroup(Rate_me_up.this);
radioGroup.setOrientation(1);
LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
layout.addView(radioGroup, p);
RadioButton radioButtonView = new RadioButton(Rate_me_up.this);
radioButtonView.setId(1);
radioButtonView.setText("RadioButton");
radioButtonView.setChecked(false);
radioGroup.addView(radioButtonView, p);
RadioButton radioButtonView2 = new RadioButton(Rate_me_up.this);
radioButtonView.setId(2);
radioButtonView2.setText("RadioButton2");
radioButtonView2.setChecked(false);
radioGroup.addView(radioButtonView2, p);
RadioButton radioButtonView3 = new RadioButton(Rate_me_up.this);
radioButtonView.setId(3);
radioButtonView3.setText("RadioButton2");
radioGroup.addView(radioButtonView3, p);
radioButtonView3.setChecked(false);
radioGroup.setOnCheckedChangeListener(this);
}
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
case 1:
// first radiobutton is clicked
break;
case 2:
// second radiobutton is clicked
break;
case 3:
// third radiobutton is clicked
break;
default:
break;
}
将Radiobutton值转换为字符串
这就是你需要尝试的方式
在onClick上:
genradiocheck();
radiovalue = radiobutton1.getText().toString();
`
希望这能有所帮助。在尝试获取id之前,您需要设置id。使用下面的代码
@Override
public void onClick(View v) {
RadioGroup radioGroup = new RadioGroup(Rate_me_up.this);
radioGroup.setOrientation(1);
LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
layout.addView(radioGroup, p);
RadioButton radioButtonView = new RadioButton(Rate_me_up.this);
radioButtonView.setId(1);
radioButtonView.setText("RadioButton");
radioButtonView.setChecked(false);
radioGroup.addView(radioButtonView, p);
RadioButton radioButtonView2 = new RadioButton(Rate_me_up.this);
radioButtonView.setId(2);
radioButtonView2.setText("RadioButton2");
radioButtonView2.setChecked(false);
radioGroup.addView(radioButtonView2, p);
RadioButton radioButtonView3 = new RadioButton(Rate_me_up.this);
radioButtonView.setId(3);
radioButtonView3.setText("RadioButton2");
radioButtonView3.setChecked(false);
radioGroup.addView(radioButtonView3, p);
radioGroup.setOnCheckedChangeListener(this);
}
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
Toast.makeText(Rate_me_up.this, "id : "+checkedId, Toast.LENGTH_SHORT).show();//or you can also get the id by using group.getCheckedRadioButtonId()
}
首先通过setId()
方法设置RadioButton
的id。完成后,onCheckedChanged
中的如何获取id…checkedId
将返回选中的RadioButton
的id。当您想要获取收音机id时,单击按钮或单选按钮我已经发布了简单的答案,我想你必须搜索,这是一个基本问题,就像他已经在onClick
的最后一行设置了setoncheckedchangelister
。请解释一下你的确切意思。我的意思是,您知道将生成多少个单选按钮,或者它完全取决于运行时的用户操作吗?
private boolean genradiocheck()
{
boolean gender_flag = false;
if (r_group.getCheckedRadioButtonId() == -1)
{
//
}
else
{
radiobutton1 = (RadioButton) findViewById(r_group
.getCheckedRadioButtonId());
gender_flag = true;
}
return gender_flag;
}
@Override
public void onClick(View v) {
RadioGroup radioGroup = new RadioGroup(Rate_me_up.this);
radioGroup.setOrientation(1);
LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
layout.addView(radioGroup, p);
RadioButton radioButtonView = new RadioButton(Rate_me_up.this);
radioButtonView.setId(1);
radioButtonView.setText("RadioButton");
radioButtonView.setChecked(false);
radioGroup.addView(radioButtonView, p);
RadioButton radioButtonView2 = new RadioButton(Rate_me_up.this);
radioButtonView.setId(2);
radioButtonView2.setText("RadioButton2");
radioButtonView2.setChecked(false);
radioGroup.addView(radioButtonView2, p);
RadioButton radioButtonView3 = new RadioButton(Rate_me_up.this);
radioButtonView.setId(3);
radioButtonView3.setText("RadioButton2");
radioButtonView3.setChecked(false);
radioGroup.addView(radioButtonView3, p);
radioGroup.setOnCheckedChangeListener(this);
}
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
Toast.makeText(Rate_me_up.this, "id : "+checkedId, Toast.LENGTH_SHORT).show();//or you can also get the id by using group.getCheckedRadioButtonId()
}