ListView에서 보는 아이템들에 클릭 이벤트를 넣을 수 있는데, 그 방법을 정리해보려고 한다. 기본 ListView 사용 방법을 모른다면 이글을 참고하자.
선언한 ListView의 setOnItemClickListener()
를 사용하여 클릭 이벤트를 추가할 수 있다.
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
itemList.remove(i);
adapter.notifyDataSetChanged();
Toast.makeText(getApplicationContext(), (i+1)+"번째 아이템이 삭제되었습니다.", Toast.LENGTH_SHORT).show();
}
});
나는 아이템이 클릭될 때 아이템이 삭제되도록 만들었고, Toast를 통해 사용자에게 알림을 띄우도록 했다.(다양한 액션에 맞게 함수를 구성하여 원하는대로 움직임을 넣을 수 있다.)
notifyDataSetChanged()
함수는 adapter에게 데이터가 변경되었음을 알려주고 ListView를 다시 불러오는 역할을 한다.
아이템 1을 클릭했을 때 Toast 메시지가 나오면서 해당 데이터가 사라진 것을 확인할 수 있다.