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; } } }

 

posted @ 2018-06-07 10:03  暮雪超霸  阅读(106)  评论(0)    收藏  举报