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 umLinearLayout
eactivity_main
não tem nada além de um únicoFrameLayout
.