2010-07-28 2 views
0

Android 애플리케이션에서 ListActivity가 있습니다. 그것을 만든 후 목록의 일부 항목을 사용하지 않도록 설정해야하는 브로드 캐스트 수신기가 있습니다. 그래서 나는이 코드와 같은 코드를 가지고있다.TextView에서 포커스 비활성화

View child = getListView().getChildAt(i); 
child.setEnabled(false); 

사용 불가능한 뷰의 색상을 회색으로 변경하는 방식으로 작동한다. 하지만이 항목을 클릭하지 않도록해야합니다. 그래서

child.setFocusable(false); 

또는

child.setClickable(false); 

하지만 두 경우 모두

이 onListItemClick 비활성화 옵션을 누른 후 호출 전화를 시도했습니다.

이러한 텍스트 뷰를 클릭 할 때 onListItemClick 메서드가 호출되지 않도록하려면 어떻게해야합니까?

감사합니다.

답변

1

보기를 비활성화하면 onListItemClick 이벤트와 관련하여 아무런 영향을주지 않습니다.

목록을 채우는 데 사용중인 어댑터로 하위 항목을 사용 중지해야합니다.

이 방법은 당신이 클릭 할 수 싶지 않아 각 항목에 대해 false를 돌려 오버라이드 (override) 할 필요가 http://developer.android.com/reference/android/widget/ListAdapter.html#isEnabled(int)

를 참조하십시오. 어댑터에 메서드를 추가해야합니다 (예 : setEnabled(int position, boolean enabled)

).