Se produce una excepción de punto nulo al intentar encontrar ViewById

Tengo la siguiente actividad:

public class MainActivity extends ActionBarActivity {

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

    if (savedInstanceState == null) {
        getSupportFragmentManager().beginTransaction()
                .add(R.id.container, new StartFragment())
                .commit();
    }

    Button login = (Button) findViewById(R.id.loginButton);

    login.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {

            Intent intent = new Intent(MainActivity.this,LoginActivity.class);
            startActivity(intent);
        }
    });

}

Recibo un NPE cuando intento invocarfindViewByID paraR.id.loginButtony supongo que esto es porqueloginButton está dentro de un Fragmento separado, que tengo como:

public static class StartFragment extends Fragment {

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

        return inflater.inflate(R.layout.fragment_main, container, false);

    }
}

Sin embargo, no estoy seguro de cómo solucionar esto para poder encontrar la ID de loginButton. No he trabajado con fragmentos antes, así que me doy cuenta de que puedo estar usándolos / implementándolos incorrectamente.fragment_main contiene algunos botones en unLinearLayoutyactivity_main no tiene nada más que unoFrameLayout.

Respuestas a la pregunta(3)

Su respuesta a la pregunta