2012-10-08 3 views
3

는 좀 안드로이드 응용 프로그램을 개발 한 다음과 같은 코드가있다 :CalendarView 용 OnClickListener를 설정하는 방법은 무엇입니까?

final CalendarView calendarView=(CalendarView)layout.findViewById(R.id.calendarView); 
    calendarView.setClickable(true); 
    calendarView.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       Log.e("event", "click"); 
    }); 
    calendarView.setOnLongClickListener(new OnLongClickListener() { 

      @Override 
      public boolean onLongClick(View v) { 
       Log.e("event", "long click"); 
       return false; 
      } 

    }); 
    calendarView.setOnDateChangeListener(new OnDateChangeListener(){ 

      @Override 
      public void onSelectedDayChange(CalendarView view, int year, 
        int month, int dayOfMonth) { 
       Log.e("event", "datachanged"); 
      } 

    }); 

내가 "의 OnClick"이벤트를 잡을 필요하지만, 난 단지 "OnDataChange"이벤트를 잡을 수있어. 나는 왜 그런지 이해하지 못한다. 도와주세요. 미리 감사드립니다.

답변

0

'CalendarView'의 하위보기가 있으며 'CalendarView'가 아닌 'OnClickListener'를 등록 할 수 있다고 추측합니다.

here을 보시고 'FrameLayout'을 확장하십시오.

+0

이 기사에서 방금 본 적이 있지만 왜 도움이되는지 이해할 수 없습니까? – malcoauri

0

일정이 대화 상자 사용을 View.OnclickListener

+0

예를 들어 주시겠습니까? – malcoauri

0

OnGlobalLayoutListener이 트릭을 할 것입니다하지 DialogInterface.OnClickListener을 볼 수 없습니다 때문입니다.

calendarView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener(){ 
      @Override 
      public void onGlobalLayout() 
      { 
        //your code here 
      } 
     }); 
관련 문제