![](/img/trans.png)
[英]Android How to refresh items after deleting from sqlite database in ExpandableListView
[英]Android How to refresh items in ExpandableListView
SQLController dbcon;
@Override
public View getChildView(int groupPosition, final int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
final String children = (String) getChild(groupPosition, childPosition);
TextView text;
if (convertView == null) {
convertView = inflater.inflate(R.layout.listrow_details, null);
}
text = (TextView) convertView.findViewById(R.id.textView1);
text.setText(children);
convertView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(activity, children,Toast.LENGTH_SHORT).show();
}
});
convertView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
AlertDialog.Builder Delete=new AlertDialog.Builder(activity);
Delete.setTitle("Show Linups Or Delete");
Delete.setMessage("Press Delete For Remove "+children+" or Press Show Lineups to get Lineups.");
Delete.setPositiveButton("Delete", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dbcon=new SQLController(activity);
dbcon.open();
Cursor c=dbcon.returnData();
if(c.moveToFirst())
{
do{
if(children.equals(c.getString(0))){
dbcon.deleteData(children);
notifyDataSetChanged();
Toast.makeText(activity,"Successfully Deleted",Toast.LENGTH_LONG).show();
break;
}
}while(c.moveToNext());
}
dbcon.close();
}
}).show();
return false;
}
});
return convertView;
}
這是我的可擴展列表適配器的getChildView方法,我正在使用Sqlite數據庫,並且將數據存儲到數據庫中,並且還需要刪除一些項目,因此當我長時間單擊要刪除的項目時,我使用onLongClickListener來刪除項目刪除按鈕,當我單擊該按鈕時,已從數據庫中刪除該項目,但該項目仍顯示在該活動中,直到我重新打開該應用程序為止。我想要的是,當我單擊刪除按鈕時,它也應立即從該列表中消失,謝謝預先,
您需要更新視圖的適配器。 大多數適配器都具有notifyDataSetChanged()
方法,該方法會更新其顯示的數據集
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.