Exceção nula de Pointer lançada ao tentar findViewById

Eu tenho a seguinte atividade:

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

}

Eu recebo um NPE quando tento chamarfindViewByID paraR.id.loginButton, e acho que é porqueloginButton está dentro de um fragmento separado, que tenho 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);

    }
}

No entanto, não tenho certeza de como corrigir isso para encontrar o ID do loginButton. Eu não trabalhei com fragmentos antes, então percebo que posso usá-los / implementá-los incorretamente.fragment_main contém alguns botões em umLinearLayouteactivity_main não tem nada além de um únicoFrameLayout.

questionAnswers(3)

yourAnswerToTheQuestion