자식보기를 올바르게 그리려면 adapterview를 얻으려고 시도하지만 어댑터가 반환 한보기의 자식보기를 가져 오는 데 문제가 있습니다. 특히, 내 어댑터는 다음과 같이 간단한 의견을 뱉어해야합니다어댑터보기를 사용할 때보기 그룹에서 자식보기를 그릴 수 없습니다.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF">
<TextView
android:id="@+id/photo_cell_contents"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10px"
android:text="@string/photo_cell_default_text"
android:textColor="#000000"
android:textSize="80px"/>
</LinearLayout>
어댑터의의 getView() 메소드가 호출받을 않으며, 실제로 어댑터 뷰 AdapterView에이보기의 인스턴스를 반환 않습니다. 나는 또한 내 adapterview에 중단 점을 넣었으며 적절한 뷰 계층 구조가 있음을 볼 수 있습니다. 즉, 자식 textview 객체가있는 루트 선형 레이아웃입니다. 그러나 어댑터보기가 배치되어 어댑터에서 리턴 한 하위보기를 그릴 때 내 부 텍스트보기는 그려지지 않습니다. 각 셀에 해당하는 실제 색상 상자가 표시되지만 내부에 표시되어야하는 텍스트는 아닙니다. 왜 이런 일이 일어날 수 있는지 생각하는 사람이 있습니까?
for (int idx = 0; idx < this.getChildCount(); idx++) {
if (idx != dragged)
{
Point xy = getCoorFromIndex(idx);
View child = getChildAt(idx);
child.layout(xy.x, xy.y, xy.x + childSize, xy.y + childSize); //view group will layout the children based on the sizes determined for available columns
int left = child.getLeft();
int right = child.getRight();
int top = child.getTop();
View tv = ((ViewGroup)child).getChildAt(0);
int tvleft = tv.getLeft();
int tvright = tv.getRight();
int tvtop = tv.getTop();
Log.i("dgv", "Here is info about main view ... left = " + left + "; right = " + right + "; top = " + top);
Log.i("dgv", "Here is info about text view ... left = " + tvleft + "; right = " + tvright + "; top = " + tvtop);
}
}
하나의 아이디어 : 텍스트를 올바르게 설정하지 않습니까? 보기를 그리는 경우 문제는 아마도 텍스트 설정 일 것입니다. 몇 가지 코드를 게시하면 디버깅을 도와 줄 수 있습니다. – AJcodez
이것을 알아 냈습니까? 비슷한 문제가 있습니다 ... – NPike
예, 아래를 참조하십시오. – Faisal