請按照下列步驟 我們有兩個片段稱爲AddFragment
和ListFragment
,並且在對第一個片段添加一個項目你想要的更新列表清單上顯示的片段(什麼樣的巫術是這個!)。
步驟1創建AddFragment的類級別與要由另一個人(ListFragment)來實現的方法中的監聽器接口和創建接口類型變量
public class AddFragment extends Fragment{
//listener varriable
//listener
public interface OnCategoryAddedListener{
public void refreshList();
}
private static OnCategoryAddedListener meAddListener;
}
步驟2創建類套準調整方法相同AddFragment類的水平並且在任何情況下是反芻按鈕點擊或在烏爾應用叫喊設置listenter可變
public class AddFragment extends Fragment{
public void registerListener(OnCategoryAddedListener listener)
{
meAddListener = listener;
}
}
步驟3(被認爲是在機器人:-)粗魯事件)檢查偵聽器對象meAddListener
變量和調用接口, 在莎士比亞的概括地說這意味着「for thou who implement ye interface and brought the method within ur class shelter, I shall give u my utmost privilege and blessing to …. 」
步驟4在ListFragment實現AddFragment的界面,沒有回頭路可走只是去實現它的方法。在這種方法你剛剛叫abracadabra
重新填充UR列表或任何類型的可更新的Android視圖對象的...和UR做
public class ListFragment extends Fragment implements AddFragment.OnCattegoryAddedListener{
//refer to AddFragment
AddFragment addFragment;
//once the fragment is within the memory scope u instantiate AddFragment
//and register listener with AddFragment context which inherently implement OnCategoryAddedListener
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
categoryAddFragment = new CategoryAddFragment();
categoryAddFragment.registerListener(this);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
fillList();
}
public void fillList() {
ArrayAdapter<String> catArrayAdapter = new ArrayAdapter<>(context,android.R.layout.simple_list_item_1,getItems());
setListAdapter(catArrayAdapter);
}
//le interface method u can count on to refresh ur list content
public void refreshList(){
fillList();
}
check this out for a little more 享受我的情況下,在Java魔術
,我保存到列表片段的引用在一個全局變量中,並在任何地方使用它,只要確保在重新創建列表時確保使用對listView的新引用更新變量。 – harshal
這樣做的最好方法是使用包含的Activity來處理通信。首先在你的Fragment中創建一個接口,在Activity中實現它,然後從你的Activity找到你想要共享信息的Fragment。然後使用片段的引用調用該方法來更新列表。 –