마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

체크박스 오류 질문입니다.

0 추천
protected void onCreate(Bundle bun) {
  super.onCreate(bun);
  
  textStreamed = (TextView) findViewById(R.id.text_kb_streamed);
  streamButton2 = (CheckBox) findViewById(R.id.button_stream);
  
     LinearLayout linearLayout = new LinearLayout(this);
     linearLayout.setOrientation(LinearLayout.VERTICAL);
     LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
       LinearLayout.LayoutParams.MATCH_PARENT,
       LinearLayout.LayoutParams.WRAP_CONTENT);

     Resources r = getResources();
        Bitmap bmp1 = BitmapFactory.decodeResource(r, R.drawable.off);

        final ImageButton imgbutton1 = new ImageButton(this);
        imgbutton1.setImageBitmap(bmp1);
        imgbutton1.setBackgroundColor(Color.TRANSPARENT);
        imgbutton1.setPadding(0, 400, 0, 0);
        imgbutton1.setOnClickListener(new OnClickListener(){

         @Override
         public void onClick(View v){
          if(bool == false){
           imgbutton1.setImageResource(R.drawable.on);
           bool = true;
           //streamButton2.setChecked(true);
           
           //if(streamButton2.isChecked()){
           // startStreamingAudio();
           //}
           
          }
          else{
           imgbutton1.setImageResource(R.drawable.off);
           bool = false;
          }
         }
        });

탭뷰에서 버튼 이벤트중 클릭시 체크박스도 같이 체크되게 하려는데 위에 주석처리 부분을 넣으면 버튼누를때 에러가 납니다. 그냥꺼져버리는데 왜그런걸거죠 ..ㅜ

그리고 체크박스 enable에 false로 체크했는데 막상 디바이스 화면엔 흐릿하게 보이는건 이유가뭔가요?

취미 (890 포인트) 님이 2014년 4월 6일 질문

2개의 답변

+1 추천
그냥봐서는 잘 모르겠구요, crash날 때의 로그를 올려주세요~
잇힝국대통령 (3,750 포인트) 님이 2014년 4월 7일 답변
0 추천

탭뷰에서 버튼 이벤트중 클릭시 체크박스도 같이 체크되게 하려는데 위에 주석처리 부분을 넣으면 버튼누를때 에러가 납니다. 그냥꺼져버리는데 왜그런걸거죠 ..ㅜ

 

아래의 문장에서 로그를 찍어 정확히 어디서 발생하는지 확인 필요.

  streamButton2.setChecked(true);

    // Log.i("테스트", "문제발생1");

  if(streamButton2.isChecked()){ 

    // Log.i("테스트", "문제발생2");

    startStreamingAudio(); // 함수 내부에 로그추가 Log.i("테스트", "문제발생3");

  }
 
위와 같이 확인하시고
 

그리고 체크박스 enable에 false로 체크했는데 막상 디바이스 화면엔 흐릿하게 보이는건 이유가뭔가요?

enable 이 무슨 역할을 하는지 모르시는가보네요. false 를 하게 되면 입력을 허용하지 않겠다 라는 뜻으로

제어할수 없는 상태로 만들기 때문에 회색으로 표시되는거에요

초보개발자ㅠ (33,870 포인트) 님이 2014년 4월 7일 답변
...