ToDoリストを作成していて、ListViewからアイテムを削除する際に問題があります。ユーザーは、自分のリストに一つのことを行っている場合Android Studio、別のアイテムに影響を与えずにListViewアイテムを削除する
、彼はその項目をクリックすることができますし、それが通じstrikedされるか、ストライク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;
}
});
は今、私の問題は、以下の通りである。
2番目の項目が貫通strikedさを想像しますがTHI rdはそうではありません。
私は2番目の項目を削除した場合、第3項は、第二の場所にあり、スルーstrikedされます。しかし、それはストライキされるべきではありません。
私はあなたが私の問題を理解し、あなたがこの問題を解決する私を助けることができることを願っています。
私は、この絵は、あなたが問題を理解するのに役立つことを願っています: A helping Picture
あなたの完全なアダプターコードを調べる必要があります。 –