ListAdapter 에 버튼 이벤트 처리
public class ListAdapter extends SimpleCursorAdapter{
Cursor mCursor;
private ListClickListener mClickListener;
abstract interface ListClickListener
{
public abstract void TextClickListener(String id, int position);
public abstract void ButtonClickListener(String id, int position);
}
public void setOnClickListener(ListClickListener listener)
{
mClickListener = listener;
}
...
abstract interface 를 위처럼 선언한다.
setOnClickListener는 ListAdapter를 사용하는 곳에서 set해준다.
@Override
public void bindView(View view, Context context, Cursor cursor) {
// TODO Auto-generated method stub
super.bindView(view, context, cursor);
if(cursor == null)
{
return;
}
...
ImageButton mTrash = (ImageButton) view.findViewById(R.id.trash);
mTrash.setTag(data);
mTrash.setFocusable(false);
mTrash.setClickable(false);
mTrash.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(mClickListener != null)
{
TagData data = (TagData)v.getTag();
String id = data.id;
int position = data.position;
mClickListener.ButtonClickListener(id, position);
}
}});
Adapter의 bindView에서 버튼 이벤트 처리부분을 연결해준다.
'[미네르바's IT] > [미네르바's 안드로이드]' 카테고리의 다른 글
[안드로이드]View의 getHeight, getWidth 하기 (0) | 2015.03.31 |
---|---|
[안드로이드]TextView shadow 주기 (0) | 2015.03.31 |
[안드로이드]안드로이드 녹음 기능 (0) | 2015.03.26 |
[안드로이드]PagerAdapter class (0) | 2015.03.26 |
[안드로이드]파일 속성, 읽기, 쓰기, 생성, 복사하기 (0) | 2015.03.18 |