我可以隐藏特定的行,但是我回到listview活动,它将再次显示我隐藏的特定行。下面是我的代码:
listView.setLongClickable(true);
listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView<?> parent, final View v, final int position, long id) {
//Do your tasks here
textViewID = (TextView) v.findViewById(R.id.text_customerid);
custid = textViewID.getText().toString();
AlertDialog.Builder alert = new AlertDialog.Builder(
TableRecordActivity.this);
alert.setTitle("Alert!!");
alert.setMessage("Are you sure to delete record");
alert.setPositiveButton("YES", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//databaseHelper = new DatabaseHelper(getApplicationContext());
//sqLiteDatabase=databaseHelper.getReadableDatabase();
//databaseHelper.deleteCustomerInformation(custid,sqLiteDatabase);
LinearLayout parentLayout = (LinearLayout) v.findViewById(R.id.linearLayout);
parentLayout.setVisibility(View.GONE);
//Intent intent = new Intent(getApplication(),TableRecordActivity.class);
//intent.putExtra("user_id2",user_id2);
//intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
//startActivity(intent);
Toast.makeText(getApplicationContext(),"Customer deleted",Toast.LENGTH_LONG).show();
dialog.dismiss();
}
});
alert.setNegativeButton("NO", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
alert.show();
return true;
}
});
3条答案
按热度按时间p4rjhz4m1#
您已经获得了所单击项目的位置,请单击此处:
现在从数据源(arraylist?)中删除该项:
并刷新列表:
pb3s4cty2#
您需要使用通知列表视图
notifyDataSetChanged()
方法。既然你得到了这个职位setOnItemLongClickListener()
借助于此,您可以从列表(或)数组中删除特定对象,然后需要更新适配器中的列表并通知适配器。希望这个链接是有用的。在上面的链接中,说明了如何删除
longClick
将更新后的数据发送到适配器并通知列表,这一点得到了明确的解释。qv7cva1a3#
您需要删除列表中链接到适配器的元素。