class ViewHolder
{
TextView mNameTv;
TextView mNumberTv;
TextView mDepartmentTv;
ImageButton mCallBt;
}
@Override
public View getView( int position,
View convertView,
ViewGroup parent )
{
View itemLayout = super.getView( position, convertView, parent );
ViewHolder viewHolder = (ViewHolder)itemLayout.getTag();
if( viewHolder == null )
{
viewHolder = new ViewHolder();
viewHolder.mNameTv =
(TextView) itemLayout.findViewById( R.id.name_text );
viewHolder.mNumberTv =
(TextView) itemLayout.findViewById( R.id.number_text );
viewHolder.mDepartmentTv =
(TextView) itemLayout.findViewById( R.id.department_text );
viewHolder.mCallBt =
(ImageButton) itemLayout.findViewById(R.id.call_button);
itemLayout.setTag( viewHolder );
}
viewHolder.mNameTv.setText( getItem( position ).name );
viewHolder.mNumberTv.setText( getItem( position ).phoneNum );
viewHolder.mDepartmentTv.setText( getItem( position ).division );
viewHolder.mCallBt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 버튼 클릭시 해당 아이템의 텍스트뷰에서 string을 얻어와서
// phoneNum에 저장
Intent intent =new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:" + phoneNum));
context.startActivity(intent);
}
});
return itemLayout;
}
커스텀 아답터의 소스는 이렇습니다 getviw안에 리스터를 구현해서 onClick함수 안에서 처리를 하려고 했는데
리스트뷰에 각 아이템마다 있는 버튼 클릭시 해당아이템의 textview에 있는 값을 얻어오려는데 그걸 잘 못하겠네요
검색해도 비슷한것이 있던데 막상 따라하니 안되더라구요 ㅠ