簡體   English   中英

從不同的活動更新ListAdapter

[英]Updating ListAdapter from different activity

我正在從事自己的業余項目,以了解有關android編程和內容的更多信息。 所以我最近遇到一個簡單的問題,但找不到解決方案。

我的項目目前有2個活動[MainActivity][CommentActivity]

在MainActivity中,我有一個listadapter (cusAdapter)將從數據庫中獲取所有內容並將其顯示在listview上。 那里一切正常。 它將根據帖子ID獲取某個帖子的所有評論和總評論。 在同一MainActivity中,我有一個注釋按鈕和一個onclick偵聽器,單擊它們時會將用戶帶到下一個活動[CommentActivity],並使用另一個自定義適配器加載所需的所有注釋和數據。 我還有一個總評論TextView,它將顯示json提取的總評論並將其顯示在我的listview中。

當用戶在CommentActivity上發布評論時,它將通過AsyncTask保存到數據庫中。

現在的問題是,當我按下后退按鈕並從CommentActivity導航回到MainActivity時,我將意圖與標志(intent.flag_activity_reorder_to_front)一起使用。 因此,當按下后退按鈕時,它將永遠不會再次重新加載MainActivity。 而且,它將永遠不會更新MainActivity中的總注釋。 我想做的是在CommentActivity上按下后退按鈕時,我希望它刷新/重新加載MainActivity中的ListAdapter以便從數據庫中獲取最新數據。

我也不想重新加載整個MainActivity,我只是想更新視圖而不重新加載整個活動。

我相信必須有一些簡單的方法可以做到這一點。 如果你們需要幫助的話,我可以發布代碼。

謝謝。

在MainActivity中,您可以簽入onResume來查看數據是否已更改,因為當您從CommentActivity返回到數據時,將調用該數據。

如果數據已更改,則在適配器上調用notifyDataSetChanged()將使用新數據重新加載視圖。

是的,有一個簡單的方法。 使用以下方法開始您的第二項活動:

  • startActivityForResult(意圖,RESULT_CODE)
  • 將更改提交到數據庫后,在第二個活動中使用setResult(RESULT_OK)
  • 在您的第一個活動中覆蓋onActivityResult()以檢查第二個活動何時正確返回
  • 根據需要更新第一個適配器。

希望能幫助到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM