多個Fragment在一個activity中經過按鈕的展現方法

fragment使用方法java

1. 建立主Mainactivity extends AppCompatActivityide

2. Oncreate & setContentViewthis

3. 完成XML的配置,包含兩個部分,底部欄三個按鈕及上邊的content_view,注意都要加id(用來放接下來的的fragment)xml

4.建立3個fragment的layout xml頁面繼承

5. 建立fragment package,裏面放3個fragment的頁面,注意繼承V4的Fragment,並修改return inflaterget

public class fragment_main extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_main,container,false);
}
}it

6. 在Mainactivity中初始化 3個fragment的java和xml
LinearLayout menu_Main;
LinearLayout menu_Middle;
LinearLayout menu_Menu;
protected fragment_main FragmentMain = new fragment_main();
protected fragment_menu FragmentMenu = new fragment_menu();
protected fragment_middle FragmentMiddle = new fragment_middle();io

7. 將幾個fragment頁面添加到mainactivity中,並設置展現哪一個,hide哪一個
this.getSupportFragmentManager()
.beginTransaction()
.add(R.id.contain_con,FragmentMain)
.add(R.id.contain_con,FragmentMiddle)
.hide(FragmentMiddle)
.add(R.id.contain_con,FragmentMenu)
.hide(FragmentMenu)
.commit();class

8. 初始化3個Xml頁面並findbyid,若使用implement,則初始化監聽
private void initView() {
menu_Main=findViewById(R.id.menu_main);
menu_Menu=findViewById(R.id.menu_menu);
menu_Middle=findViewById(R.id.menu_middle);配置

menu_Main.setOnClickListener(this);
menu_Menu.setOnClickListener(this);
menu_Middle.setOnClickListener(this);
}

9. implement或內部類方法設置監聽

10 在監聽方法中使用switch方法,點擊哪一個按鈕就展現哪一個fragment,並注意以前添加過fragment,因此只需設置show和hide。
switch (v.getId())
{
case R.id.menu_main:
this.getSupportFragmentManager()
.beginTransaction()
.show(FragmentMain)
.hide(FragmentMiddle)
.hide(FragmentMenu)
.commit();
break;
case R.id.menu_middle:
this.getSupportFragmentManager()
.beginTransaction()
.hide(FragmentMain)
.show(FragmentMiddle)
.hide(FragmentMenu)
.commit();
break;
case R.id.menu_menu:
this.getSupportFragmentManager()
.beginTransaction()
.hide(FragmentMain)
.hide(FragmentMiddle)
.show(FragmentMenu)
.commit();

break; }

相關文章
相關標籤/搜索