사용자가 버튼을 클릭 할 때 어떤 라디오 버튼이 선택되었는지 감지해야하는 버튼의 onClickListener가 있습니다.getCheckedRadioButtonId()는 쓸모없는 int를 반환합니까?
04-27 19 :마다 선택
이 다른 라디오로 3 회 제출을 클릭한다 : 현재, 당신은 OnClickListener를 아래 참조 Log.v는 정보의 쓸모없는 비트를 반환하지 않습니다 : 24 : 42.417 : V/(1564)을 제출 1,094,168,584
04-27 19 : 24 : 45.048 : V는/제출 (1564)를 : 1094167752
04-27 19 : 24 : 47.348 : V가 제출/(1564) : 1094211304
그래서 radioButton이 실제로 선택되었는지 알아야합니다. 라디오 버튼의 객체를 가져 오는 방법이 있습니까? 나는 그것의 현재 텍스트뿐만 아니라 XML로부터 id #를 얻을 수 있기를 원한다.
public void buildQuestions(JSONObject question) throws JSONException {
radioGroup = (RadioGroup) questionBox.findViewById(R.id.responseRadioGroup);
Button chartsButton = (Button) questionBox.findViewById(R.id.chartsButton);
chartsButton.setTag(question);
Button submitButton = (Button) questionBox.findViewById(R.id.submitButton);
chartsButton.setOnClickListener(chartsListener);
submitButton.setOnClickListener(submitListener);
TagObj tagObj = new TagObj(question, radioGroup);
submitButton.setTag(tagObj);
}
public OnClickListener submitListener = new OnClickListener() {
public void onClick(View v) {
userFunctions = new UserFunctions();
if (userFunctions.isUserLoggedIn(activity)) {
TagObj tagObject = (TagObj) v.getTag();
RadioGroup radioGroup = tagObject.getRadioGroup();
JSONObject question = tagObject.getQuestion();
Log.v("submit", Integer.toString(radioGroup.getCheckedRadioButtonId()));
SubmitTask submitTask = new SubmitTask((Polling) activity, question);
submitTask.execute();
}
}
};
라디오 버튼은 프로그래밍 방식이므로 XML 대응 부분이 없습니다. 아직도 이것을 할 수있는 방법이 있습니까? – Davek804
@ Davek804 물론. 'RadioButtons'을 만들 때'setId()'를 사용하여 그것들을 다른 id로 설정하십시오. 그런 다음 switch 문에서 내 대답에서 'R.id.radio_button1' 대신 ID로 할당 한 번호를 사용하십시오. 내 대답을 편집했습니다. – Luksprog
훌륭함, 모두 설치되었습니다! 감사. – Davek804