我正在做一個ToDo List並且在從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;
}
});
現在,我的問題是:
想象中的第二項是通過刪除線,但THI rd不是。
如果我刪除第二個項目,那麼第三個項目是在第二個地方,並通過。但它不應該通過。
我希望您瞭解我的問題,並且您可以幫助我解決此問題。
我希望這張照片將幫助你瞭解問題: A helping Picture
我們需要看看你的完整的適配器代碼..! –