ToDo 목록을 만들고 ListView에서 항목을 삭제하는 데 문제가 있습니다. 사용자가 자신의 목록에 한 일을 한 경우Android Studio, 다른 항목에 영향을주지 않고 ListView 항목 제거
, 그는 그 항목을 클릭 할 수 있으며이 중 하나를 통해 파업을하거나 파업 trhough 취소 될 것입니다 : 사용자가 긴한다
lv.setOnItemClickListener(new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
TextView tv = (TextView) view;
int i_strikethrough = tv.getPaintFlags();
if(i_strikethrough == 1297){
tv.setPaintFlags(tv.getPaintFlags() & (~Paint.STRIKE_THRU_TEXT_FLAG));
} else if (i_strikethrough == 1281){
tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
}
}
});
경우 메시지가 나타납니다 클릭하고 자신이이 항목을 삭제하도록 선택할 수 있습니다 :
두 번째 항목을 통해 파업을 상상하지만, 생 : 이제
lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener(){
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, final int position, long id) {
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);
alertDialogBuilder.setTitle("Delete");
alertDialogBuilder.setMessage("Are you sure you want to delete?");
alertDialogBuilder.setCancelable(false);
alertDialogBuilder.setPositiveButton("Yes", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialogInterface, int i)
{
adapterInhalt.remove(adapterInhalt.getItem(position));
}
});
alertDialogBuilder.setNegativeButton("No", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialogInterface, int i)
{
dialogInterface.cancel();
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
return true;
}
});
을, 내 문제는 다음과 rd는 그렇지 않습니다.
두 번째 항목을 삭제하면 세 번째 항목이 두 번째 위치에 있고 취소됩니다. 그러나 그것을 통해 striked해서는 안됩니다.
내 문제를 이해하고이 문제를 해결하는 데 도움이되기를 바랍니다.
나는이 그림이 문제를 이해하는 데 도움이되기를 바랍니다 : 당신은 제대로 목록보기를 구현하지 않는 A helping Picture
전체 어댑터 코드를 살펴 봐야합니다 !! –