ListView 전체적인 화면에서는 title들만 보여주고 title 롱클릭시 alertdialog로 삭제하시겠습니까?
를 띄우고 "Yes"를 클릭하면 삭제되는 문제인데요..
그냥 클릭하면 alertDialog에 값 세개가 보여집니다. title과 그 안에 숨겨진 2개의 값. 총 3개의 값이 상세보기로 보여지게 됩니다.
근데 제가 title1 title2 title3 이렇게 되어있는 목록인데 editText로 값을 넣어서 만든거거든요.
title2를 롱클릭하여 삭제하면 title2에 들어있는 모든 값이 사라져야 합니다, 만약 삭제를 하면 title1 title3만 list에 남겠죠.
그래서 title3를 상세보기를 하면 삭제했던 title2의 상세보기가 보여집니다.
position이 문제 인거 같은데 어떻게 해야하는지 도저히 감이 안잡히네요ㅠㅠ...제발 도와주세용
------------------- 소스 첨부 ---------------
int selectedPos = -1;
/**
* ListView의 item을 길게 클릭했을 경우.
* 클릭된 item을 삭제한다.
* @author stargatex
*
*/
private class ListViewItemLongClickListener implements AdapterView.OnItemLongClickListener
{
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id)
{
selectedPos = position;
final AlertDialog.Builder alertDlg_delete = new AlertDialog.Builder(MainActivity.this);
alertDlg_delete.setTitle("삭제");
alertDlg_delete.setIcon(android.R.drawable.ic_input_delete);
alertDlg_delete.setMessage("정말 삭제하시겠습니까?");
// '예' 버튼이 클릭되면
alertDlg_delete.setPositiveButton( "Yes", new DialogInterface.OnClickListener(){
@Override
public void onClick( DialogInterface dialog, int which ) {
// TODO Auto-generated method stub
//ArrayList에서 항목 삭제
items.remove(selectedPos);
//선택한 항목표시 없애기
list.clearChoices();
//어댑터에 항목이 바뀜을 알리기
adapter.notifyDataSetChanged();
}
}); //onclick
// '아니오' 버튼이 클릭되면
alertDlg_delete.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.dismiss();
}
});
alertDlg_delete.show();
return true;
}//onItemLongClick
};//setOnItemLongClickListener