[英]Refreshing listview in tab activity from main activity
我的主要活動是帶有一個包含可檢查項目的選項菜單。 我還有三個帶有活動的選項卡,每個選項卡都包含一個listview。
我要執行的操作是在更改主活動中的可檢查項目菜單選項時刷新所選選項卡的列表視圖。
關於如何實現此目標的任何想法?
通常,當您具有選項卡時,您將使用視圖分頁器,因此每個片段都應能夠指定其自己的選項菜單,從而將范圍保持在當前選定的列表中。
在具有listview的Fragment的onResume()中調用適配器上的notifyDataSetChanged()。
您可以執行解決方法。 使用全局類。 您可以將選定的已檢查項目值存儲在全局類中。 並從代碼中的任何位置訪問該值。 如何建立全球課程
然后在片段中使用TimerTask
檢查所選項目是否已更改並重新加載數據。
這是實現TimerTask
將previousItem和currentItem保留為字符串值以檢查修改。
TimerTask timerTask;
Timer timer;
timerTask = new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
//check if the checkable item is modified
currentItem = globalClass.getCheckedItem();
if(!previousItem.equalsIgnoreCase(currentItem)){
previousItem = currentItem;
//load your data
}
}
});
}
};
timer = new Timer();
timer.scheduleAtFixedRate(timerTask, 0, 200);
globalClass.getCheckedItem();
是用於從globalClass中獲取所選項目的方法。 您可以在“ 選項菜單 ”中選擇一個項目時設置值,並確保取消計時器onPause()
@Override
protected void onPause() {
if(timer != null){
timer.cancel();
}
super.onPause();
}
希望這對您有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.