Obtención del valor EditText de un fragmento en la actividad principal

He colocado tres textos de edición en un fragmento y quiero obtener los valores del texto de edición en el fragmento de la actividad principal. Intenté el siguiente código pero está arrojandoExcepción de puntero nulo engetName () método.

Clase de fragmento

public class Fragment1 extends Fragment{

EditText name, age, gender;


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

    View view = inflater.inflate(R.layout.frag1, container);

    name = (EditText) view.findViewById(R.id.name);
    age = (EditText) view.findViewById(R.id.age);
    gender = (EditText) view.findViewById(R.id.gender);

    return view;
}

public String getName(){
    String name1 = name.getText().toString().trim();
    return name1;
}
public String getAge(){
    String age1 = age.getText().toString().trim();
    return age1;
}
public String getGender(){
    String gender1 = gender.getText().toString().trim();
    return gender1;
}
}

Actividad principal

public class MainActivity extends AppCompatActivity {


Fragment1 f1;
Button b1;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    b1 = (Button) findViewById(R.id.button);
    f1 = new Fragment1();

    b1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Toast.makeText(MainActivity.this, f1.getName() +" "+ f1.getAge() +" "+ f1.getGender(), Toast.LENGTH_SHORT).show();
        }
    });
}
}

Editar:

activity_main.xml

esta es mi actividad principal ui

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.ganesh.fragtask.MainActivity">

<fragment
    android:id="@+id/fragment"
    android:name="com.example.ganesh.fragtask.Fragment1"
    android:layout_width="match_parent"
    android:layout_height="120dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_alignParentTop="true" />

<Button
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="50dp"
    android:text="Button" />
</RelativeLayout>

Logcat esta es la excepción que obtengo cuando hago clic en el botón

FATAL EXCEPTION: main
                                                                       Process: com.example.ganesh.fragtask, PID: 6015
                                                                       java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference
                                                                           at com.example.ganesh.fragtask.Fragment1.getName(Fragment1.java:33)
                                                                           at com.example.ganesh.fragtask.MainActivity$1.onClick(MainActivity.java:25)
                                                                           at android.view.View.performClick(View.java:5611)
                                                                           at android.view.View$PerformClick.run(View.java:22276)
                                                                           at android.os.Handler.handleCallback(Handler.java:751)
                                                                           at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                           at android.os.Looper.loop(Looper.java:154)
                                                                           at android.app.ActivityThread.main(ActivityThread.java:6195)
                                                                           at java.lang.reflect.Method.invoke(Native Method)
                                                                           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:874)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:764)

Respuestas a la pregunta(3)

Su respuesta a la pregunta