检查单选按钮android的状态并计算答案
我按照@CommonsWare告诉我的方式编辑代码 当我尝试点击r1并且问题似乎是按钮[i] .isChecked()时,没有按;吨的工作 - >固定检查单选按钮android的状态并计算答案
我final RadioButton[] buttons = {r1,r3,r5,r7};
而且我要指望他们(基本上是答案)
public void onClick(View view){
checkStates(buttons);}
}
private void checkStates(RadioButton[] buttons) {
for (int i = 0; i < 4; i++) {
if (buttons[i].isChecked())
yes++;}
if (yes>=3){
Intent intent=new Intent(this,AnotherClass.class);
startActivity(intent);
}
}
基本上我有yes和no单选按钮。我想算的是答案,如果用户改变了主意,检查无递减是
R1 R3 R5等都是“是”的回答 R2 R4 R6是“否”的回答
我的方法可能是因为我是新手,但是如果有人帮助我,我会发布整个事情供人们看。
请帮忙!
好吧,我检查了日志猫,我收到以下错误(这是明显的地方,但我不知道为什么,我该如何实现这个工作)
Android Runtime: Uncaught handler :thread main exiting due to uncaught exception
java.lang.NullPointerException
RadioButtons.checkStates(RadioButtons.java:49) --> here : if (buttons[i].isChecked())
RadioButtons.onClick(RadioButtons.java:42)--> here: checkStates(buttons);
编辑:问题 - 方式@CommonsWare指出,是buttons
WASN;吨初始化,我得到了NullPointerException
所以我这一个前更改了代码:RadioButton[]buttons =new RadioButton[3];
给阵列
public void onClick(View view){
checkStates(buttons);
}
private void checkStates(RadioButton[] buttons) {
buttons[0]=rb1;
buttons[1]=rb3;
buttons[2]=rb5;
if (buttons[i].isChecked()){
yes++;}
tv.setText("Result:"+yes);
}
问题的大小,这一次是它仍然被点击和不是回答“是” 我有以下问题需要解决
算“是”的答案是++
如果用户点击了第二次不计
如果用户将他们的想法从“是”改变为“否”递减“是”
如果用户按下“否”不计算任何东西(我的应用程序的重要部分是计算是的答案)
如何检查android中单选按钮的状态?
致电isChecked()
。但你已经知道了。
而且我要指望他们
有呼吁在RadioButton
返回从isChecked()
真setChecked(true)
没有意义的,因为这RadioButton
已被选中。
我想算的是答案,如果用户改变了主意,检查无递减是
替换您// if r1 or r3 are checked{
与if buttons[i].isChecked() {
首先,你需要使用一个RadioGroup中进行分组每个是和否对,因此不允许在同一时间选择两者。
这是一个伟大的起点资源 http://developer.android.com/resources/tutorials/views/hello-formstuff.html#RadioButtons
阅读本页面和您的所有问题将迎刃而解,包括如何设置OnClickListener
希望这有助于
我已经把他们放在收音机组中,我忘了补充说:)。无论如何,谢谢你让我知道 – Michiru 2011-06-03 19:55:51
哦,我的错误与器isChecked()感谢您的提示 – Michiru 2011-06-03 20:00:02
我试过你告诉我的方式,但它没有; t只与r1.isChecked()一起使用按钮[i] .isChecked()...我每次点击r1时都会关闭force,尽管有人建议像这样做,这种方法也计算点击,而不是答案。是否有另一种方式,我可以以某种方式计算单选按钮,如果他们已经检查不增加? – Michiru 2011-06-04 09:09:36
@Michiru:在Eclipse中使用'adb logcat',DDMS或DDMS透视图来检查LogCat并查看与“强制关闭”相关的堆栈跟踪。 – CommonsWare 2011-06-04 11:00:03