fragment入门

MainActivity.java

public class MainActivity extends Activity implements OnClickListener {
    private Button bt_news1, bt_news2, bt_news3;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        bt_news1 = (Button) findViewById(R.id.bt_news1);
        bt_news2 = (Button) findViewById(R.id.bt_news2);
        bt_news3 = (Button) findViewById(R.id.bt_news3);

        bt_news1.setOnClickListener(this);
        bt_news2.setOnClickListener(this);
        bt_news3.setOnClickListener(this);
        
        FragmentManager fm = getFragmentManager();
                    //FragmentManager fm = getSupportFragmentManager();//向下兼容
                    //Fragment需要使用android.support.v4.app.Fragment
        FragmentTransaction ft = fm.beginTransaction(); //开启事务 
        ft.replace(R.id.fl_container, new News1Fragment());
        ft.commit();
    }

    @Override
    public void onClick(View v) {
        FragmentManager fm = getFragmentManager();
        FragmentTransaction ft = fm.beginTransaction(); //开启事务 
        switch (v.getId()) {
        case R.id.bt_news1:
            Toast.makeText(this, "点击了社会新闻", 0).show();
            ft.replace(R.id.fl_container, new News1Fragment());
            break;
        case R.id.bt_news2:
            Toast.makeText(this, "点击了娱乐新闻", 0).show();
            ft.replace(R.id.fl_container, new News2Fragment());
            break;
        case R.id.bt_news3:
            Toast.makeText(this, "点击了国际新闻", 0).show();
            ft.replace(R.id.fl_container, new News3Fragment());
            break;
        }
        ft.commit();
    }
}

News1Fragment.java

//1.不需要在清单文件中配置
//2.拥有与activities一模一样的生命周期
public class News1Fragment extends Fragment { 
    //返回当前fragment显示的内容
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        return View.inflate(getActivity(), R.layout.fragment01, null);
    }
}

News2Fragment.java

//1.不需要在清单文件中配置
//2.拥有与activities一模一样的生命周期
public class News1Fragment extends Fragment { 
    //返回当前fragment显示的内容
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        return View.inflate(getActivity(), R.layout.fragment02, null);
    }
}

News3Fragment.java

//1.不需要在清单文件中配置
//2.拥有与activities一模一样的生命周期
public class News1Fragment extends Fragment { 
    //返回当前fragment显示的内容
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        return View.inflate(getActivity(), R.layout.fragment01, null);
    }
}

activity_main.xml



    
    

    

        

fragment01.xml




    

    
    
     
     
     

fragment02.xml




    

    
    
     
     
     

fragment03.xml




    

    
    
     
     
     

你可能感兴趣的:(fragment入门)