캘린더를 만들 때 사용하는 gridview가 있습니다. 캘린더/그리드 뷰 바깥을 클릭하면 초기 선택을 강조 표시하는 데 문제가 있습니다. 캘린더/그리드 뷰는 뷰의 위쪽 절반을 차지하며 조각에 있으며 해당 목록은 아래로 이동합니다. 다음과 같이 단편 그리드에 대한 나의 레이아웃입니다 : 초기 선택이 녹색외부 위젯을 클릭 할 때 선택 유지
calGrid.requestFocusFromTouch();
calGrid.setSelection(startPosition);
:
<GridView
android:id="@+id/weekGrid"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:listSelector="@color/green"
android:numColumns="7" >
</GridView>
초기 셀을 강조하기 위해, 나는 어댑터를 설정 한 후 다음을 사용하여 위치를 설정 바라는대로. 그러나 gridview에서 멀리 클릭하자마자 녹색 배경이 사라집니다. 다른 셀을 선택한 다음 gridview에서 멀리 클릭하면이 문제가 발생하지 않습니다. 이 경우 강조 표시가 유지됩니다. gridview에 onFocusChange 리스너를 설정하려고했습니다. 그러나 gridview 외부를 클릭하면 트리거되지 않습니다. 나는 또한 android : listSelector에서 selector를 사용하여 시도했다.
미리 도움을 주셔서 감사합니다.
답장을 보내 주셔서 감사합니다. 어댑터 설치를 통해 TextView를 사용하는 동안 : – Jack120
죄송합니다. 내 어댑터는 TextView 및 텍스트 뷰 ID 인 레이아웃을 사용합니다. 위의 명령을 (TextView)와 함께 사용하면 반환되는 항목이 String이라는 클래스 캐스팅 예외가 발생합니다. calGrid.getChildAt (startPosition) .setSelected (true)를 사용하여 시도했지만 행운도 얻지 못했습니다. – Jack120
그래, 약간 엉망이 될 수도 있지만 귀하의 질문을 귀하의 어댑터 코드와 귀하의 textview 레이아웃으로 편집 할 수 있습니까? – TheKingInTheNorth