Fragment 组件使用

1.静态使用

 mainActivity.xml

   
    

    
    
public class Fragment1 extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragment01, container, false);
    }
}

2.动态使用


    
public class Fragment1 extends Fragment {

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

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

 

public class MainActivity extends AppCompatActivity  implements View.OnClickListener{

    private Button manBtn;
    private Button woManBtn;

    private Fragment1 fragmentMan;
    private Fragment2 fragmentWoman;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        bangID();
    }

    private void bangID(){
        manBtn = findViewById(R.id.man_tv);
        woManBtn = findViewById(R.id.woman_tv);

        manBtn.setOnClickListener(this);
        woManBtn.setOnClickListener(this);

    }

    @Override
    public void onClick(View v) {
        FragmentManager manager = getSupportFragmentManager();  
        FragmentTransaction fragmentTransaction = manager.beginTransaction();  // fragment 事务

        switch (v.getId()){
            case R.id.man_tv:
                if (fragmentMan == null){
                    fragmentMan = new Fragment1();
                }
                fragmentTransaction.replace(R.id.shop_content,fragmentMan);
                break;
            case R.id.woman_tv:
               if (fragmentWoman == null){
                   fragmentWoman = new Fragment2();
               }
               fragmentTransaction.replace(R.id.shop_content,fragmentWoman);
               break;
        }
        fragmentTransaction.commit();  //必须提交,不然不会显示
    }
}

你可能感兴趣的:(android)