8
저는 월별 달력을 표시하기 위해 격자보기를 사용하고 있습니다. 캘린더에서 날짜를 터치하면 해당 셀이 배경 및 텍스트 색상을 변경하여 강조 표시됩니다. 모든 것은 새로운 날짜를 선택하면 내가 셀을 강조 표시 할 수 없다는 사실을 제외하고는 매력처럼 작동합니다.GridView : 위치별로보기 가져 오기
내가 위치를 기억 날짜를 클릭, 그래서 내가 이전에 클릭 내가 아는 새로운 선택 때
protected OnClickListener onClicThisMonthDate(final int position)
{
return new OnClickListener() {
@Override
public void onClick(View v)
{
if(prevDateSelected > -1)
{
//Get the view by the oldPosition
//Change its background and text color
}
prevDateSelected = position;
TextView casecal = (TextView) v.findViewById(R.id.case_cal);
casecal.setBackgroundColor(Color.rgb(93, 94, 94));
casecal.setTextColor(Color.WHITE);
}
};
}
그의 위치하여보기를 얻을 수있는 솔루션이 있습니까? 셀을 선택하고 다른 셀을 모두 선택 취소하는 가장 효율적인 방법은 무엇입니까? 참고 : 셀을 선택하면 스타일을 변경하여 강조 표시됩니다.
GridView.setSelection은 불행히도 터치 모드에서 작동하지 않습니다. Get childAt는 괜찮은 것처럼 보이지만 모든 gridview가 아닌이 뷰만을 업데이트하는 방법이 있습니까? – grunk
View.invalidate() (UI 스레드) 또는 View.postInvalidate() (UI 스레드가 아닌 스레드)를 호출하여 하나의보기 만 업데이트하십시오. – xevincent