我是Android领域的新手,正在学习制作应用程序,所以遇到了问题。
正在努力
我创建了一个片段,里面有一个包含3个单选按钮的单选组
目标
当用户返回此屏幕时,清除片段内的所有单选按钮
问题
我不知道该怎么实现
题
如何清除单选按钮的所有检查?
完成步骤
我尝试了以下方法:
Uncheck all RadioButton in a RadioButtonGroup
但似乎我做不到
码
这段代码对我不起作用(来自上面的帖子)
protected void onResume()
{
RadioGroup rg=(RadioGroup)findViewById(R.id.RG);
rg.clearCheck();
super.onResume();
}
但是我有以下几点:
public class Operations extends Fragment
{
RadioButton surfArea, rad, diam;
RadioGroup radG;
Button openSelect;
public Operations()
{
// Required empty public constructor
}
public static Operations newInstance()
{
return new Operations();
}
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState)
{
View rootView = inflater.inflate(R.layout.fragment_operations_sphere, container, false);
surfArea = (RadioButton) rootView.findViewById(R.id.RB_surfArea);
rad = (RadioButton) rootView.findViewById(R.id.RB_Rad);
diam = (RadioButton) rootView.findViewById(R.id.RB_Diam);
openSelect = (Button) rootView.findViewById(R.id.btn_open_select);
//This piece is for testing purposes
openSelect.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
if (surfArea.isChecked())
{
Intent sa = new Intent(getContext(), OperSphere.class);
startActivity(sa);
}
}
});
return rootView;
}
//Here is where I'm stuck
@Override
public void onResume()
{
super.onResume();
}
}
我有兴趣将代码放入
onResume()
我知道有关于片段(https://developer.android.com/guide/components/fragments.html)的文档,但那些文档无法回答我的问题
提前致谢
最佳答案
1)在onCreateView方法中初始化RadioGroup为
private RadioGroup rg;
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState)
{
View rootView = inflater.inflate(R.layout.fragment_operations_sphere, container, false);
// initialize your radiogroup here
rg = (RadioGroup) rootView.findViewById(R.id.RG);
.....
// Rest of your code
}
2)现在在要取消选中单选按钮的任何地方调用以下方法,即clearSelection()(但在上面的代码之后)。
private void clearSelection(){
if(rg != null) rg.clearCheck();
}
3)示例:如果要取消选中onResume()中的RadioButtons,则可以从此处调用它
@Override
public void onResume(){
super.onResume();
clearSelection();
}
如果您想通过其他方法执行此操作,则即使
private void myMethod(){
// need to clear radio buttons
clearSelection();
// rest of my code
}
关于android - Android-如何取消选中 fragment 内单选按钮中的单选按钮?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39707338/