Actividad de fragmentos Comunicación de fragmentos

Yo tengo unActividad con dos fragmentos (Frag1, Frag2).

EnFrag1, Yo tengo unEditar texto.

Mientras enFrag2, Tengo unBotón yVista de texto.

Lo que estoy tratando de hacer es que todo lo que escribí en el texto de edición aparecerá en la vista de texto cuando haga clic en el botón. Aquí está mi código pero no funciona porque mi aplicación falla cuando intento ejecutarlo:

Frag1:

public class Frag1 extends Fragment {

    EditText edit1;

    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

        View v =  inflater.inflate(R.layout.frag2, container, false);       

        edit1 = (EditText) getActivity().findViewById(R.id.edit_1); 
        String str = edit1.getText().toString();

        Intent intent = new Intent(getActivity().getBaseContext(),
                MainActivity.class);
        intent.putExtra("message", str);
        getActivity().startActivity(intent);

        return v;
    }

}

Actividad:

public class MainActivity extends FragmentActivity{

    ViewPager viewPager = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        viewPager = (ViewPager) findViewById(R.id.pager);
        FragmentManager fragmentManager = getSupportFragmentManager();
        viewPager.setAdapter(new MyAdapter(fragmentManager));

        Intent intent = getIntent();
        String message = intent.getStringExtra("message");

        Bundle bundle=new Bundle();
        bundle.putString("message", message);

        Frag2 fragobj=new Frag2();
        fragobj.setArguments(bundle);
    }
    public class MyAdapter extends FragmentStatePagerAdapter {
        public MyAdapter (FragmentManager fm) {
            super(fm);
        }
        @Override
        public Fragment getItem(int i) {
            Fragment fragment = null;

            if (i == 0)
            {
                fragment = new Frag1();
            }
            if (i == 1)
            {
                fragment = new Frag2();
            }
            return fragment;
        }
        @Override
        public int getCount() {
            return 2;
        }
    }
}

Frag2:

public class Frag2 extends Fragment implements OnClickListener {

    Button button1;
    TextView text1;
    String strtext;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

        View v =  inflater.inflate(R.layout.frag2, container, false);

        button1 = (Button) getActivity().findViewById(R.id.button1);
        button1.setOnClickListener(this);       
        text1 = (TextView) getActivity().findViewById(R.id.text1);

        strtext=getArguments().getString("message");

        return v;
    }

    @Override
    public void onClick(View arg0) { 

        text1.setText(strtext);
    }

}

LogCat:

12-01 02:47:22.763: D/jdwp(4115): sendBufferedRequest : len=0x31
12-01 02:47:22.769: W/asset(4115): AssetManager-->addDefaultAssets CIP path not exsit!
12-01 02:47:23.061: V/PhoneWindow(4115): DecorView setVisiblity: visibility = 4
12-01 02:47:23.084: V/PhoneWindow(4115): DecorView setVisiblity: visibility = 0
12-01 02:47:23.160: D/AndroidRuntime(4115): Shutting down VM
12-01 02:47:23.160: W/dalvikvm(4115): threadid=1: thread exiting with uncaught exception (group=0x40d819a8)
12-01 02:47:23.178: E/AndroidRuntime(4115): FATAL EXCEPTION: main
12-01 02:47:23.178: E/AndroidRuntime(4115): java.lang.NullPointerException
12-01 02:47:23.178: E/AndroidRuntime(4115):     at lmf.sample5.Frag1.onCreateView(Frag1.java:21)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.support.v4.app.Fragment.performCreateView(Fragment.java:1478)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1460)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:472)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:163)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.support.v4.view.ViewPager.populate(ViewPager.java:1068)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.support.v4.view.ViewPager.populate(ViewPager.java:914)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1436)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.view.View.measure(View.java:15635)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4919)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.view.View.measure(View.java:15635)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:850)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.view.View.measure(View.java:15635)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4919)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2200)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.view.View.measure(View.java:15635)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2165)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1249)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1443)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1139)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4872)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.view.Choreographer$CallbackRecord.run(Choreographer.java:776)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.view.Choreographer.doCallbacks(Choreographer.java:579)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.view.Choreographer.doFrame(Choreographer.java:548)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:762)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.os.Handler.handleCallback(Handler.java:800)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.os.Handler.dispatchMessage(Handler.java:100)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.os.Looper.loop(Looper.java:194)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at android.app.ActivityThread.main(ActivityThread.java:5371)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at java.lang.reflect.Method.invokeNative(Native Method)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at java.lang.reflect.Method.invoke(Method.java:525)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
12-01 02:47:23.178: E/AndroidRuntime(4115):     at dalvik.system.NativeStart.main(Native Method)

Respuestas a la pregunta(3)

Su respuesta a la pregunta