我希望有兩個.xml
Fragment的佈局文件有條件地我想啓動一個並在某些事件上更改爲其他,嘗試搜索Javadoc以查找相關方法,任何指針都會有幫助如何以編程方式添加和刪除片段中的視圖
回答
您需要創建兩個類extends Fragment
類和override onCreateView()
方法並擴大您的佈局。例如:
類FragmentOne.java
public class FragmentOne extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
//Inflate the layout for this fragment
return inflater.inflate(
R.layout.fragment_one, container, false);
}
}
類FragmentTwo.java
public class FragmentTwo extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(
R.layout.fragment_two, container, false);
}
}
而在你MainActivity.java
Fragment fr;
if(view == findViewById(R.id.button2)) {
fr = new FragmentTwo();
}else {
fr = new FragmentOne();
}
FragmentManager fm = getFragmentManager();
FragmentTransaction fragmentTransaction = fm.beginTransaction();
fragmentTransaction.replace(R.id.fragment_place, fr);
fragmentTransaction.commit();
我可以在創建後更改它嗎? – user3833308 2014-10-04 04:53:19
是的,你可以在你需要實現的地方添加MainActivity代碼。 – 2014-10-04 04:58:12
謝謝你,我使用swipable視圖http://www.androidhive.info/2013/10/android-tab-layout-with-swipeable-views-1/我想要的是第一個標籤我想有3步過程和第二個選項卡應該是少一步,我看到你把片段放入MainACtivity的重點,但我不知道如何將它集成在此示例中 – user3833308 2014-10-04 05:15:20
試試這個..
public class FragmentCont extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
//Inflate the layout for this fragment
if(condition1){
return inflater.inflate(
R.layout.fragment_one, container, false);
}else{
return inflater.inflate(
R.layout.fragment_two, container, false);
}
}
}
可以在創建後更改它嗎? – user3833308 2014-10-04 04:54:25
創建後,你必須改變它的活動。在活動中有一個框架佈局,並使用片段管理器替換它在這裏完成http://stackoverflow.com/questions/7849490/android-adding-fragments-dynamically – Panther 2014-10-04 04:59:17
- 1. 以編程方式將視圖添加到片段onCreateView方法
- 2. 如何以編程方式從視圖3中刪除字段?
- 3. 以編程方式將片段添加到視圖組
- 4. 如何以編程方式添加地圖片段
- 5. 以編程方式在dojo中添加和刪除圖標
- 6. iOS - 以編程方式添加/刪除子視圖
- 7. Android:如何以編程方式在視圖中添加視圖?
- 8. NSArrayController - 添加:&刪除:以編程方式
- 9. 如何以編程方式添加和刪除UIToolbaritems?
- 10. 如何在Android中以編程方式刪除圖片?
- 11. 以編程方式從android中的圖像視圖中刪除背景圖片
- 12. 如何以編程方式將視圖添加到視圖
- 13. 如何以編程方式從NSCustom視圖中刪除NSButton?
- 14. 如何以編程方式添加按鈕以刪除WebView?
- 15. 以編程方式添加視圖
- 16. iPhone:如何以編程方式刪除按鈕背景圖片?
- 17. 如何以編程方式添加代碼片段?
- 18. 如何以編程方式在片段上添加組件?
- 19. 如何以編程方式刪除MySQL視圖的列?
- 20. 如何以編程方式刪除控件的視圖狀態?
- 21. 如何刪除以編程方式添加的customviews?
- 22. 以編程方式從html中刪除圖像和視頻
- 23. 在SWIFT OS X中以編程方式添加和刪除NSTextField
- 24. Android以編程方式在linearlayout中添加和刪除textview
- 25. 以編程方式將谷歌地圖添加到片段
- 26. 如何以編程方式將類名添加到drupal的視圖字段中?
- 27. 如何以編程方式在UITableView中添加視圖?
- 28. 如何以編程方式刪除Drupal中的圖像樣式?
- 29. 以預編程方式在Android中以編程方式添加視圖
- 30. 在片段內以編程方式將視圖添加到另一個
使用ViewAnimator或直接致電ViewGroup.addView *()/ ViewGroup.removeView [在]() – pskink 2014-10-04 05:16:46
@pskink大謝謝我一直在尋找這一點,但是當我嘗試刪除MapView保持灰色方塊,並且可以將它刪除,任何想法如何刷新視圖 – user3833308 2014-10-04 05:29:21
您使用ViewAnimator或直接添加/刪除視圖?另外如果你在模擬器上運行它,請嘗試hierarchyviewer – pskink 2014-10-04 05:59:33