2012-02-15 70 views
2

實際上,在我的列表活動中,當用戶點擊任何項目時,會打開一個對話框,其中有兩個刪除和取消選項。當用戶選擇刪除按鈕時,對話框消失並刪除數據庫中的值。舊的列表活動在舊值的前景中出現。儘管它被刪除了,但它在listview中顯示。是否有方法顯示刷新的列表。如果是,那麼How?當對話框消失時刷新活動

+0

粘貼您的代碼。它可能是有幫助的給予確切的答案 – waqaslam 2012-02-15 07:41:34

回答

1

如果您使用數組列表,那麼你必須明確地知道該項目的位置d使用該位置,您可以從列表中刪除項目。然後致電

 yourlist.remove(position); 
    adapter.notifyDataSetChanged(); 

運行您的程序以觀看魔術。

+0

完成但不工作 – 2012-02-15 10:15:12

+0

檢查我的編輯將工作。 – Akram 2012-02-15 10:15:52

+0

其實Waqas已經告訴它,但我沒有得到如何進行。感謝 – 2012-02-15 10:24:52

1

請嘗試以下代碼,

private final Handler handler = new Handler(); 

使調用的函數:,做)doTheAutoRefresh(:

private void doTheAutoRefresh() { 
    handler.postDelayed(new Runnable() { 
      doRefreshingStuff(); // this is where you put your refresh code 
      doTheAutoRefresh(); 
     }, 1000); 
} 

調用此函數在您的onCreate。

注意:這是基本的方法。考慮在onPause被調用並在onResume之後繼續執行。看看處理程序類,看看如何刪除。

0

當關閉對話框調用

yourAdapter.notifyDataSetChanged() 

您的列表適配器。

+0

我試過它不工作。 – 2012-02-15 07:07:59

0

使用list.clear()清除列表; 並設置適配器像這樣 adapter = new Adapter(this); enter code here listView.setAdapter(adapter);

+0

不工作.....已經嘗試過....... – 2012-02-15 07:18:52

+0

從數據庫中獲取數據並再次添加到列表 – user1203673 2012-02-15 11:52:36

2

你需要太調用適配器的notifyDataSetChanged()以刷新列表

+0

正在嘗試......... – 2012-02-15 10:11:54

+0

Thanx waqaas .... – 2012-02-15 10:25:14

+0

@ Waqas-Delete是好的,如果我在對話框中編輯並保存按鈕被按下,那麼我應該怎麼做,因爲它不更新列表 – 2012-02-15 11:21:25

1

試試這個事先取出適配器刪除的項目, 實現對話框駁回監聽器,並檢查用戶是否點擊了您的「刪除「按鈕,如果是,則執行你刷新

 dialog.setOnDismissListener(new OnDismissListener() { 

      @Override 
      public void onDismiss(DialogInterface dialog) { 

      } 
     }) 

通過重新設置apdater刷新列表視圖....