gpt4 book ai didi

android - 如何在没有单选组的情况下取消选中单选按钮?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:15:13 25 4
gpt4 key购买 nike

我使用以下代码 fragment 将一个单选按钮设置为未选中(如果另一个被选中),但是当我运行应用程序并选择两个单选按钮时,代码不起作用,因为它们都保持选中状态。

我使用的是相对布局,所以我不能对单选组使用任何其他解决方案,我只是使用两个单独的单选按钮。

有人可以指出我可能在某处出错的地方吗,因为我看不出逻辑上的缺陷,有什么想法吗?

无论如何,这是我正在尝试实现的解决方案,但它在应用程序中不起作用:

public void onRadioButtonClicked(View view) {
// Is the button now checked?
boolean checked = ((RadioButton) view).isChecked();

// Check which radio button was clicked
switch(view.getId()) {
case R.id.radBtnMM:
if (checked)
//set inch button to unchecked
radioInch.setChecked(false);
break;
case R.id.radBtnInch:
if (checked)
//set MM button to unchecked
radioMM.setChecked(false);
break;
}
}

最佳答案

什么时候调用您的public void onRadioButtonClicked(View view)?是来自听众吗?

这会起作用:

布局.xml:

<RadioButton 
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/radBtnMM"
/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/radBtnInch"
/>

你的 Activity .java:

public class MainActivity extends Activity implements OnCheckedChangeListener {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
setContentView(R.layout.activity_main);
rb1 = (RadioButton) findViewById(R.id.radBtnInch);
rb1.setOnCheckedChangeListener(this);
rb2 = (RadioButton) findViewById(R.id.radBtnMM);
rb2.setOnCheckedChangeListener(this);
return true;
}
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
if (buttonView.getId() == R.id.radBtnInch) {
rb2.setChecked(false);
}
if (buttonView.getId() == R.id.radBtnMM) {
rb1.setChecked(false);
}
}
}

关于android - 如何在没有单选组的情况下取消选中单选按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21061997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com