2010-10-16 91 views
0

我在TabActivity中有一個選項卡,該選項卡由另一個活動中的方法的listview填充。當我點擊標籤中的列表視圖時,我想從onContextItemSelected中刪除列表視圖中的一個項目,並讓tabhost中的選項卡回調在填充listview的活動中的相同方法。請任何人都知道我如何識別從具有listview方法的Activity執行操作的選項卡?如何從另一個活動中識別Tabhost選項卡ID

在其他標籤上似乎有setTag()這樣的知道方法來標識它們。我試過這種工作,如果我在TabActivity類,但如果我在其他活動,我希望它調用fillAllData()。但是從eclipse得到一個警告,該行是一個死代碼,而它的調用fillShopData()來代替。關於如何解決這個問題的任何想法?..我希望我已經說清楚了。謝謝。

/* code in activity class after delete is pressed in onContextItemSelected*/ 
    if(Categories.SHOP_TAB_TAG == 1) { // tab in categories TabActivity identified as int 
     fillShopData(); // fill this data back in tab 
     }else { 
     fillAllData(); // Dead Code from Activity 
} 
+0

是否可以使用掛起的意圖返回到tabActivity類,以便它重新填充列表中的列表?基本上,試圖做的是刪除主要列表中的項目活動並讓選項卡反映這些更改..謝謝 – irobotxxx 2010-10-18 16:35:14

回答

0

您可以在常量類的靜態變量,它保持標籤的曲目選擇你需要修改的OnTabChangedListener,如:

@Override 
public void onTabChanged(String tabId) { 
    if (tabId.equalsIgnoreCase("Assigned")) { 
     Constants .LIST_ACTIVITY = 0; 
    } else if (tabId.equalsIgnoreCase("Accepted")){ 
     Constants .LIST_ACTIVITY = 1; 
    }else if (tabId.equalsIgnoreCase("Rejected")){ 
     Constants .LIST_ACTIVITY = 2; 
    }else if (tabId.equalsIgnoreCase("Completed")){ 
     Constants .LIST_ACTIVITY = 3; 
    } 
} 

其中tabId是你給的一個同時創建標籤。 由於這是一個靜態變量,因此您可以在任何類中以標記的形式訪問它。

相關問題