對於我最新的Android應用程序(API級別15),我使用了新的體系結構,其中GUI中的每個Tab都由在PagerAdapter中註冊的Fragment類表示並且Tab事件得到處理通過TabListener。Android活動與標籤頁:標籤爲空
但是,當我想在兩個選項卡之間發送數據時遇到問題。我使用的代碼樣品從this page和寫了下面的代碼來從標籤數據發送到我的活動:
@Override
public void onDataReceived(Map<String, List<Map<Integer, String>>> receivedData) {
Log.i("CarerActivity:onDataReceived", "Map received by Fragment.");
Log.i("CarerActivity:onDataReceived", receivedData.toString());
Log.i("Fragment ID", ""+R.id.configurationfragment);
TabConfiguration configurationFragment = (TabConfiguration) getSupportFragmentManager().findFragmentById(R.id.configurationfragment);
if(configurationFragment != null){
Log.i("CarerActivity:onDataReceived", "Fragment not null.");
}else{
Log.i("CarerActivity:onDataReceived", "Fragment null!");
}
}
的receivedData.toString()被正確地顯示,所以標籤將其數據發送到活性的影響。還顯示片段ID。之後,輸出始終爲「CarerActivity:onDataReceived Fragment null!」這使我無法調用片段的任何方法(因爲它是空的)。
在我R.java行
public static final int configurationfragment=0x7f080001;
可以
public static final class id{
下找到。
任何人都知道我在做什麼錯誤或在哪裏尋找錯誤?
設置:Samsung Galaxy Nexus與Android 4.0.3,API級別15,Java 1.6,Mac OS 10.8,Eclipse Juno。
我明白了......那麼你會建議哪種方法呢?我讀了一些關於碎片交易的內容。還是有更好的方法來做到這一點? – knucKles