2010-10-16 88 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是你给的一个同时创建标签。 由于这是一个静态变量,因此您可以在任何类中以标记的形式访问它。

相关问题