gpt4 book ai didi

java - 如何防止 RadioGroup 事件?

转载 作者:太空宇宙 更新时间:2023-11-04 13:30:32 25 4
gpt4 key购买 nike

我有一个RadioGroup

<RadioGroup
android:id="@+id/typeGroup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:id="@+id/type0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="type0" />
<RadioButton
android:id="@+id/type1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="type1" />

</RadioGroup>

这是程序,我可以要求用户确认更改吗?如果没有,则不应更改单选按钮,是否有像javascript的preventDefault这样的功能?

typeGroup=(RadioGroup)findViewById(R.id.typeGroup);

typeGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
type=group.indexOfChild((RadioButton) findViewById(checkedId));

//dialog confirm change
//if yes, keep going
//if no, stop event

}
}
);

最佳答案

您可以使用alertDialog,如果用户接受,则您可以选择单选按钮组,或者不执行其他操作。这是一个例子:

RadioGroup radioGroup = new RadioGroup(getApplicationContext());
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
AlertDialog.Builder builder = new AlertDialog.Builder(CompeticionActivityPartidoMain.this);
builder.setTitle("Dialog").setMessage("Are you sure?")
.setNegativeButton("Cancel", new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
radiogroup.clearCheck();
}
})
.setPositiveButton("Accept", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// Here your code
switch (type) {
case 0:
size=2;
break;
case 1:
size=1;
break;
}
}
});
AlertDialog alert = builder.create();
alert.show();
}
});

希望它对您有用。

关于java - 如何防止 RadioGroup 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32247166/

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