Dav*_*804 13 android onclick android-layout
我有一个按钮的onClickListener,需要检测用户单击按钮时选择了哪个单选按钮.目前,您在onClickListener中看到的Log.v没有返回无用的信息:
这是点击提交三次,每次选择不同的电台:
04-27 19:24:42.417:V/submit(1564):1094168584
04-27 19:24:45.048:V/submit(1564):1094167752
04-27 19:24:47.348:V/submit(1564):1094211304
所以,我需要知道实际选择了哪个radioButton - 有没有办法获得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();
}
}
};
Run Code Online (Sandbox Code Playgroud)
Luk*_*rog 25
getCheckedRadioButtonId()
返回在中检查id
的RadioButton
(或者-1
如果没有RadioButtons
选中)Radiogroup
.如果您RadioButons
在布局中设置了不同的ID,那么您将尝试将这些ID与方法的返回相匹配,以查看检查了哪一个:
//field in the class
private static final int RB1_ID = 1000;//first radio button id
private static final int RB2_ID = 1001;//second radio button id
private static final int RB3_ID = 1002;//third radio button id
//create the RadioButton
RadioButton rb1 = new RadioButton(this);
//set an id
rb1.setId(RB1_ID);
int btn = radioGroup.getCheckedRadioButtonId();
switch (btn) {
case RB1_ID:
// the first RadioButton is checked.
break;
//other checks for the other RadioButtons ids from the RadioGroup
case -1:
// no RadioButton is checked inthe Radiogroup
break;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
23301 次 |
最近记录: |