Android 当我选择单选按钮时,它应该提交答案并同时打开下一个活动。我该怎么做?
我正在尝试做简单的多选测验应用程序。当我选择单选按钮时,单选按钮应该提交答案并打开下一个活动。在我的代码中有一个“提交”按钮。因此,首先选择单选按钮,然后单击提交按钮并拖动页面以打开另一个页面,但这没有用。我想做的所有这些只是选择单选按钮Android 当我选择单选按钮时,它应该提交答案并同时打开下一个活动。我该怎么做?,android,radio-button,android-sharedpreferences,Android,Radio Button,Android Sharedpreferences,我正在尝试做简单的多选测验应用程序。当我选择单选按钮时,单选按钮应该提交答案并打开下一个活动。在我的代码中有一个“提交”按钮。因此,首先选择单选按钮,然后单击提交按钮并拖动页面以打开另一个页面,但这没有用。我想做的所有这些只是选择单选按钮 public class Question1 extends Fragment { RadioButton q1a2; Button btn1; @Override public View onCreateView(
public class Question1 extends Fragment {
RadioButton q1a2;
Button btn1;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
View v = inflater.inflate(R.layout.fragment_question1, null);
return v;
}
public void onActivityCreated(Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
q1a2 = (RadioButton)getView().findViewById(R.id.q1a2);
btn1 =(Button)getView().findViewById(R.id.btn1);
final SharedPreferences app_preferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences.Editor editor = app_preferences.edit();
if(q1a2.isChecked()){
editor.putInt("answer_value", 1);
}else{
editor.putInt("answer_value", 0);
}
editor.commit();
}
});
}
}
不要使用不同的单选按钮侦听器和submit按钮来显式单击单选按钮,而是使用带有单选按钮的radiogroup。然后使用RadioGroup.OnCheckedChangeListener获取单击的单选按钮的id,并使用相同的方法启动新活动 示例代码如下:
RadioGroup radio = (RadioGroup) dialog.findViewById(R.id.radioGroup1);
radio.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
View radioButton = radio.findViewById(checkedId);
int index = radio.indexOfChild(radioButton);
switch (index) {
case 0: // first button
break;
case 1: // second button
break;
case 3: // third button
break;
case 4: // fourth button
break;
}
}
});
在视图xml中,必须有RadioButton所在的RadioGroup
RadioGroup yourRadioGroup = (RadioGroup) findViewById(R.id.yourRadioGroup);
yourRadioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// Here you can find selected radio button Id.
// On the basis of Radio Button you can decide it is selected or not
}
});
你的问题到底是什么?