xml 파일에서
class MyView extends View
{
String temp;
public MyView(Context context, AttributeSet attrs)
{
super(context, attrs);
}
@Override
public void onDraw(Canvas canvas)
{
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
super.onDraw(canvas);
canvas.drawText(temp, 0.0f, 0.0f, paint);
}
public void SetName(String name)
{
temp = name;
}
}
위의 view를 사용하기 위해서 설정을 하고
리스트를 만든 다음에
private class ContactAdapter extends ArrayAdapter<ContactItem>
클래스 내부의 getview에 다음과 같이 했습니다.
public View getView(int position, View convertView, ViewGroup parent)
{
.....
MyView nameview = (MyView) v.findViewById(R.id.View01);
if (nameview != null)
{
nameview.SetName(ti.getFullName());
nameview.invalidate();
}
.....
실행은 되는데 getview도 호출되고 MyView 생성자도 호출이 되고 다 됩니다.
그런데... onDraw 가 호출이 안되네요.
혹시 의심이 되는 부분이 있으면 알려주십시요. ㅜㅜ
이부분을 추가해서 확인해보니 사이즈가 0,0 으로 들어오네요. 그래서
<com.android.test2.MyView
android:id="@+id/View01"
android:layout_width="60dp" ---> "fill_parent" 를 "60dp" 고 수정
android:layout_height="60dp" ---> "fill_parent" 를 "60dp" 고 수정
android:focusable="true"
android:duplicateParentState="true"/>
onDraw가 들어오네요.
이쪽으로 좀 더 봐야겠습니다 :) 답변들 감사합니다 꾸벅 (__)




혹시 이 뷰위에 다른 뷰가 있어서 Draw가 되는데 가려져서 안보이는건 아닌지요?