Nullpointerexception выбрасывается при попытке найти ViewById
У меня есть следующая активность:
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);
}
});
}
Я получаю NPE, когда пытаюсь вызватьfindViewByID
заR.id.loginButton
и я предполагаю, что это потому, чтоloginButton
находится в отдельном фрагменте, который у меня есть как:
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);
}
}
Тем не менее, я не уверен, как это исправить, чтобы я мог найти идентификатор loginButton. Раньше я не работал с фрагментами, поэтому я понимаю, что могу использовать их / реализовывать неправильно.fragment_main
содержит несколько кнопок вLinearLayout
, а такжеactivity_main
не имеет ничего, кроме одногоFrameLayout
.