2012-08-16 2 views
0

RadioButton을 사용하여 이진 시계 스타일 응용 프로그램을 만들려고합니다.android radiobutton array

OOO

오 * 오

내가 그들과 화면에 0과 1로 그것을 밖으로 인쇄하는 방법을 알아 냈어요 2.

나타낼 것 : 레이아웃이 같은 것입니다 이제 라디오 버튼을 대신 사용하고 싶습니다. 내가 사용하는 방법이있다 :

public void displayButtons() 
{ 
    int[] binArray = new int[6]; 

    binArray = exec.toBinary(gregCal.get(GregorianCalendar.SECOND)); 

    for(int i = 0 ; i < binArray.length; i++) 
    { 

     if(binArray[i] == 0) 
      rButtons[i].setChecked(false); 
     else 
      rButtons[i].setChecked(true); 

    } 
} 

toBinary 방법이 경우 초, 이진 변환을 수행하고, 1과 0의 배열을 반환한다.

private RadioButton rB0, rB1,rB2,rB3, rB4, rB5; 
private RadioButton[] rButtons = new RadioButton[6]; 

    rButtons[0] = rB0; 
    rButtons[1] = rB1; 
    rButtons[2] = rB2; 
    rButtons[3] = rB3; 
    rButtons[4] = rB4; 
    rButtons[5] = rB5; 

나는이 같은 라디오 버튼 배열 시작 시도 : 그건 나에게 런타임 오류를 준

private RadioButton[] rButtons = {rB0, rB1,rB2,rB3, rB4, rB5}; 

하지만를 ..

버튼을 다음과 같이 나는 라디오 버튼의 배열을했습니다 1과 0을 올바르게 출력하는 메서드 옆에 displayButtons() 메서드를 배치 했더라도 업데이트하지 마십시오.

나는이 문제를 해결하는 데 중요한 것을 포함시키는 것을 잊지 않았 으면 좋겠습니다. 상담하십시오.

편집 :
내 로그

12월 8일부터 16일까지 다음과 같다 : D/AndroidRuntime (1041) : 42 : 33.453 >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit < < < < < <
12월 8일에서 16일까지 : 42 : 33.453 : D는/AndroidRuntime는 (1041) : 42 : 34.323 : D/AndroidRuntime (1041) 호출 기본 진입 com.android CheckJNI는 12월 8일에서 16일까지
ON 인 .commands.pm.Pm
08-16 12 : 42 : 34.362 : D/AndroidRuntime (1041) : VM 종료
08-16 D/dalvikvm (1041) : GC_CONCURRENT가 101K, 무료 297K/1024K, 외부 0K/0K, 일시 중지 1ms + 2ms
08-16 12 : 42 : 34.393 : D/dalvikvm (1041) : 디버거가 분리되었습니다. 개체 레지스트리에 1 개의 항목이 있습니다.
08-16 12 : 42 : 34.413 : I/AndroidRuntime (1041) : 참고 : 스레드 'Binder Thread # 3'의 첨부가 실패했습니다.
08-16 12 : 42 : 34.882 : D/AndroidRuntime 1,051) >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit < < < < < <
12월 8일에서 16일까지 : 42 : 34.882 : D는/(1051) AndroidRuntime : CheckJNI는
08이 ON -16 12 : 42 : 35.592 : D/AndroidRuntime (1051) : 메인 항목 호출 com.android.commands.am.Am
08-16 12 : 42 : 35.653 : I/ActivityManager (60) : 시작 : 의도 {act = android.intent.action.MAIN cat = [android.intent.category.LAUNCHER] flg = 0x10000000 cmp = se.macke .binarycounter/.MainActivity} from pid 1051
08-16 12 : 42 : 35.732 : D/AndroidRuntime (1051) : VM 종료 중
08-16 12:42:35.752 : D/dalvikvm (1051) : GC_CONCURRENT는 102K, 69 % 무료 320K/1024K, 외부 0K/0K, 일시 중지 2ms + 5ms
08-16 12 : 42 : 35.802 : I/AndroidRuntime (1051) 스레드 '바인더 스레드 # 3'의 오류가 발생했습니다.
08-16 12 : 42 : 35.802 : D/dalvikvm (1051) : 디버거가 분리되었습니다. 객체 레지스트리에 1 개의 항목이 있습니다.
08-16 12 : 42 : 35.922 : I/ActivityManager (60) : 작업 se.macke.binarycounter/.MainActivity : pid = 1060 uid = 10035 gids = { }
08-16 12 : 42 : 37.812 : I/ActivityManager (60) : 표시됨 se.macke.binarycounter/.MainActivity : + 2s103ms
08-16 12 : 42 : 42.933 : D/dalvikvm (132) : GC_EXPLICIT 50K, 51 % 무료 2842K/5767K, 외부 2295K/2866K, 일시 중지 82ms

+0

radioGroup class.And 로그를 사용하십시오 – Yahor10

답변

0

rB0, rB1 ... rb5가 초기화되지 않았습니다. 당신은 yout XML 파일에서 그들을 정의 할 수 있고 사용

rB0 = (RadioButton) findViweById(R.yourxml.rB0id)