码迷,mamicode.com
首页 > 其他好文 > 详细

加载片段的方法

时间:2016-01-17 06:28:21      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

package com.example.android_fragment;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.Intent;
import android.os.Bundle;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;

public class MainActivity extends Activity implements OnCheckedChangeListener
 {

    private RadioGroup group;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        group = (RadioGroup) findViewById(R.id.radiogroup);
        group.setOnCheckedChangeListener(this);

    }

    @Override
    public void onCheckedChanged(RadioGroup group, int checkedId) {
        // TODO Auto-generated method stub

        switch (checkedId) {
        case R.id.first: {
            Intent intent=new Intent(this,MainActivity2.class);
            startActivity(intent);
            break;

        }
        case R.id.second: {
            MyFragment2 fragment2=new MyFragment2();
            FragmentManager fragmentManager = getFragmentManager();
            FragmentTransaction beginTransaction = fragmentManager.beginTransaction();
            beginTransaction.add(R.id.frame, fragment2);
            beginTransaction.addToBackStack(null);
            beginTransaction.commit();
            break;
        }
        case R.id.thrid: {
            Intent intent=new Intent(MainActivity.this,MainActivity3.class);
            startActivity(intent);

            break;
        }
        case R.id.fourth: {
            Intent intent=new Intent(MainActivity.this,MainActivity4.class);
            startActivity(intent);

            break;
         }
        }
    }

    

}

 

package com.example.android_fragment;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity2 extends Activity{

    
    private TextView tv;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main2);
        Button button=(Button) findViewById(R.id.button);
        tv=(TextView) findViewById(R.id.text);
        button.setText("¸Ä±ä");
        button.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                tv.setText("TextView¸Ä±äÁË");
            }
        });
        
    }
}

 

package com.example.android_fragment;

import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity3 extends Activity {

    private Button button;
    private Fragment frag;
    private boolean flag = true;

    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main3);
        init();
        button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                FragmentManager fragmentManager = getFragmentManager();
                FragmentTransaction beginTransaction = fragmentManager
                        .beginTransaction();
                
                if (flag) {
                    MyFragment4 frag4=new MyFragment4();
                    beginTransaction.replace(R.id.layout, frag4);
                    flag=false;

                } else {
                    MyFragment3 frag3=new MyFragment3();
                    beginTransaction.replace(R.id.layout, frag3);
                    flag=true;

                }
                
               beginTransaction.commit();
            }
        });

    }

    private void init() {
        // TODO Auto-generated method stub

        FragmentManager fragmentManager = getFragmentManager();
        FragmentTransaction beginTransaction = fragmentManager
                .beginTransaction();
        MyFragment3 frag3 = new MyFragment3();
        beginTransaction.add(R.id.layout,frag3);
        beginTransaction.commit();
    }

}
package com.example.android_fragment;

import com.example.android_fragment.MyFragment5.MyListener;

import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity4 extends Activity implements MyListener {

    private EditText editext;
    private Button send;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main4);
        editext = (EditText) findViewById(R.id.editText);
        send = (Button) findViewById(R.id.send);
        
        
        send.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                String text = editext.getText().toString();
                MyFragment5 fragment5 = new MyFragment5();
                Bundle bundle = new Bundle();
                bundle.putString("name", text);
                fragment5.setArguments(bundle);
                FragmentManager fragmentManager = getFragmentManager();
                FragmentTransaction beginTransaction = fragmentManager
                        .beginTransaction();
                beginTransaction.add(R.id.layout, fragment5, "fragment5");
                beginTransaction.commit();
                Toast.makeText(MainActivity4.this, "ÏòFragment·¢ËÍÊý¾Ý" + text,
                        Toast.LENGTH_SHORT).show();
            }
        });    
        
        FragmentManager fragmentManager = getFragmentManager();
        Fragment findFragmentById = fragmentManager.findFragmentById(R.id.frag);
        MyFragment frag=(MyFragment) findFragmentById;
        frag.setAaa("fragment¾²Ì¬´«Öµ");
    }

    @Override
    public void thank(String code) {
        // TODO Auto-generated method stub
        Toast.makeText(MainActivity4.this, "Òѳɹ¦½ÓÊÕµ½" + code + "£¬¿ÍÆøÁË£¡",
                Toast.LENGTH_SHORT).show();
    }

}

 

package com.example.android_fragment;

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MyFragment extends Fragment{
    
    private String aaa;
    
    
    public String getAaa() {
        return aaa;
    }


    public void setAaa(String aaa) {
        this.aaa = aaa;
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        //layout²¼¾ÖÎļþת»»³ÉView¶ÔÏó
        /**
         * resource:FragmentÐèÒª¼ÓÔصIJ¼¾ÖÎļþ
         * root£º¼ÓÔØlayoutµÄ¸¸ViewGroup
         * attactToRoot£ºfalse£¬²»·µ»Ø¸¸ViewGroup
         */
        View view = inflater.inflate(R.layout.fragment, container, false);
        TextView text=(TextView) view.findViewById(R.id.text);
        Button button=(Button) view.findViewById(R.id.button);
        text.setText("¾²Ì¬¼ÓÔØFragment");
        button.setText("»ñÈ¡ÄÚÈÝ");
        button.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                String value = getAaa();
                Toast.makeText(getActivity(), "value="+value, Toast.LENGTH_SHORT).show();
            }
        });
        return view;
    }

}
package com.example.android_fragment;

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

public class MyFragment2 extends Fragment{
    
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        //layout²¼¾ÖÎļþת»»³ÉView¶ÔÏó
        
        /**
         * resource:FragmentÐèÒª¼ÓÔصIJ¼¾ÖÎļþ
         * root£º¼ÓÔØlayoutµÄ¸¸ViewGroup
         * attactToRoot£ºfalse£¬²»·µ»Ø¸¸ViewGroup
         */
        View view = inflater.inflate(R.layout.fragment, container, false);
        TextView text=(TextView) view.findViewById(R.id.text);
        text.setText("¶¯Ì¬¼ÓÔØFragment");
        return view;
    
    }

}
package com.example.android_fragment;

import android.app.Activity;
import android.app.Fragment;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

public class MyFragment3 extends Fragment {

    private TextView tv;

    // 启动Fragment——>屏幕锁屏——>屏幕解锁——>
    //切换到其他的Fragment——>回到桌面——>回到应用——>退出Fragment
    /**
     * 每次创建都会绘制Fragment的View组件时回调该方法
     */
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        View view = inflater.inflate(R.layout.fragment2, container, false);
        TextView tv = (TextView) view.findViewById(R.id.text);
        tv.setText("第一个Fragment");
        Log.i("Main", "Fragment1---onCreateView()");
        return view;
    }

    /**
     * 当Fragment被添加到Activity时候会回调这个方法,并且只调用一次
     */
    @Override
    public void onAttach(Activity activity) {
        // TODO Auto-generated method stub
        super.onAttach(activity);
        Log.i("Main", "Fragment1---onAttach()");

    }

    /**
     * 创建Fragment时会回调,只会调用一次
     */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        Log.i("Main", "Fragment1---onCreate()");

    }

    /**
     * 当Fragment所在的Activty启动完成后调用
     */
    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onActivityCreated(savedInstanceState);
        Log.i("Main", "Fragment1---onActivityCreated()");

    }

    /**
     * 启动Fragment
     * 
     */
    @Override
    public void onStart() {
        // TODO Auto-generated method stub
        super.onStart();
        Log.i("Main", "Fragment1---onStart()");

    }

    /**
     * 恢复Fragment时会被回调,调用onStart()方法后面一定会调用onResume()方法
     */
    @Override
    public void onResume() {
        // TODO Auto-generated method stub
        super.onResume();
        Log.i("Main", "Fragment1---onResume()");

    }

    /**
     * 暂停Fragment
     */
    @Override
    public void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
        Log.i("Main", "Fragment1---onPause()");

    }

    /**
     * 停止Fragment
     */
    @Override
    public void onStop() {
        // TODO Auto-generated method stub
        super.onStop();
        Log.i("Main", "Fragment1---onStop()");

    }

    /**
     * 销毁Fragment所包含的View组件时
     */
    @Override
    public void onDestroyView() {
        // TODO Auto-generated method stub
        super.onDestroyView();
        Log.i("Main", "Fragment1---onDestroyView()");

    }

    /**
     * 销毁Fragment时会被回调
     */
    @Override
    public void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroy();
        Log.i("Main", "Fragment1---onDestroy()");

    }

    /**
     * Fragment从Activity中删除时会回调该方法,并且这个方法只会调用一次
     */
    @Override
    public void onDetach() {
        // TODO Auto-generated method stub
        super.onDetach();
        Log.i("Main", "Fragment1---onDetach()");
    }
}
package com.example.android_fragment;

import android.app.Activity;
import android.app.Fragment;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

public class MyFragment4 extends Fragment {

    private TextView tv;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        View view = inflater.inflate(R.layout.fragment2, container, false);
        TextView tv = (TextView) view.findViewById(R.id.text);
        tv.setText("µÚ¶þ¸öFragment");
        Log.i("Main", "Fragment2---onCreateView()");
        return view;
    }

    @Override
    public void onAttach(Activity activity) {
        // TODO Auto-generated method stub
        super.onAttach(activity);
        Log.i("Main", "Fragment2---onAttach()");
    
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        Log.i("Main", "Fragment2---onCreate()");

    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onActivityCreated(savedInstanceState);
        Log.i("Main", "Fragment2---onActivityCreated()");
    
    }

    @Override
    public void onStart() {
        // TODO Auto-generated method stub
        super.onStart();
        Log.i("Main", "Fragment2---onStart()");
    
    }

    @Override
    public void onResume() {
        // TODO Auto-generated method stub
        super.onResume();
        Log.i("Main", "Fragment2---onResume()");
        
    }
    
    @Override
    public void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
        Log.i("Main", "Fragment2---onPause()");
    
    }
    
    @Override
    public void onStop() {
        // TODO Auto-generated method stub
        super.onStop();
        Log.i("Main", "Fragment2---onStop()");
        
    }
    
    @Override
    public void onDestroyView() {
        // TODO Auto-generated method stub
        super.onDestroyView();
        Log.i("Main", "Fragment2---onDestroyView()");

    }
    
    @Override
    public void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroy();
        Log.i("Main", "Fragment2---onDestroy()");
    
    }
    
    @Override
    public void onDetach() {
        // TODO Auto-generated method stub
        super.onDetach();
        Log.i("Main", "Fragment2---onDetach()");
    }
}
package com.example.android_fragment;

import android.app.Activity;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toast;

public class MyFragment5 extends Fragment{

    private String code="Thank you,Activity!";
    
    public MyListener listener;
    public interface MyListener
    {
        public void thank(String code);
    }
    
    @Override
    public void onAttach(Activity activity) {
        // TODO Auto-generated method stub    
        listener=(MyListener) activity;
        super.onAttach(activity);
    }
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        View view = inflater.inflate(R.layout.fragment2, container, false);
        TextView tv = (TextView) view.findViewById(R.id.text);
        String text=getArguments().get("name")+"";
        tv.setText(text);
        Toast.makeText(getActivity(), "Òѳɹ¦½ÓÊÕµ½"+text, Toast.LENGTH_SHORT).show();
        Toast.makeText(getActivity(), "ÏòActivity·¢ËÍ"+code, Toast.LENGTH_SHORT).show();
        listener.thank(code);
        return view;
    }
}

 

加载片段的方法

标签:

原文地址:http://www.cnblogs.com/sansansan/p/5136739.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!