我按照@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);
}
問題的大小,這一次是它仍然被點擊和不是回答「是」 我有以下問題需要解決
算「是」的答案是++
如果用戶點擊了第二次不計
如果用戶將他們的想法從「是」改變爲「否」遞減「是」
如果用戶按下「否」不計算任何東西(我的應用程序的重要部分是計算是的答案)
哦,我的錯誤與器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