zoukankan      html  css  js  c++  java
  • Fragment学习

    利用Fragment可以动态的加载页面,减少Activity的数量。

    便于开发

    类似与html中FragmentSet一样

    嵌套在一起,使每个页面为独立的

    代码如下:

    package com.example.chaoba.study;
    
    import android.app.FragmentManager;
    import android.app.FragmentTransaction;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.TextView;
    
    public class MainActivity extends AppCompatActivity {
    private Dongtai dongtai;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            Button butn1=findViewById(R.id.butn1);
            butn1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    FragmentManager fragmentManager = getFragmentManager(); //加载一个Fragment需要先创建管理器,
                    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();  //获取FragmentTransaction对象
                    if (dongtai==null){
                        dongtai=new Dongtai();
    
                    }
    
                    fragmentTransaction.replace(R.id.content,dongtai);  //移除所有,然后添加    或者    add方法
                    fragmentTransaction.commit();//提交
                }
            });
    
        }
    }
    package com.example.chaoba.study;
    
    import android.app.Fragment;
    import android.os.Bundle;
    import android.support.annotation.Nullable;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.TextView;
    
    /**
     * Created by chaoba on 18-5-31.
     */
    
    public class Dongtai extends Fragment implements View.OnClickListener{
           TextView tv;
        View view;
        @Nullable
        @Override
        public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {
             view=inflater.inflate(R.layout.dongtai,container,false);  //创建view
    
    
    
            return view;
        }
    
    
    
    
        @Override
        public void onActivityCreated(@Nullable Bundle savedInstanceState) {
            super.onActivityCreated(savedInstanceState);
    //重写本方法,用于编写业务逻辑。 initView(); tv.setText(
    "11111111111111"); tv.setOnClickListener(this); //测试点击事件,效果 11111变成5555 } public void initView(){ tv = view.findViewById(R.id.textView2); } public void test(){ tv.setText("5555555"); } @Override public void onClick(View view) { switch (view.getId()){ case R.id.textView2:test();break; } } }
    一万年太久,只争朝夕!
  • 相关阅读:
    开始核心攻坚
    Features postponed for ASP.NET 2.0 Beta 2
    设计模式的认识
    如果您想要提高开发效率,那么给大家推荐一本书,比较实用
    asp.net 2.0 个性化服务探讨
    对于数据缓存依赖的认识
    ASP.NET 2.0学习(1)——XmlDataSource控件中XPath属性之疑惑
    写作的四个境界
    ASP.NET 2.0 product design changes between Beta 1 and Beta 2(a new message from asp.net forum)
    验证控件的问题
  • 原文地址:https://www.cnblogs.com/chaoba/p/9149178.html
Copyright © 2011-2022 走看看