Начать новую активность из фрагмента

Используя Android Studio, у меня есть класс MainActiviy с фрагментом Placeholder. У этого фрагмента есть кнопки, но нужно загрузить Activity. Как это сделать? Мне сказали попробовать что-то вроде ниже, но новый Intent не работает.

Button button = (Button) rootView.findViewById(R.id.button1); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(MainActivity.class, AnotherActivity.class); startActivity(intent); } }); 

Если вы посмотрите на документацию, вы можете увидеть, что для начала деятельности вы захотите использовать следующий код

 Intent intent = new Intent(getActivity(), AnotherActivity.class); startActivity(intent); 

В настоящее время вы используете MainActivity.class в месте, где требуется объект контекста. Если вы сейчас работаете, достаточно просто пройти. Фрагмент может получить активность через getActivity() .

Ваш полный код выше должен выглядеть следующим образом:

 Button button = (Button) rootView.findViewById(R.id.button1); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(getActivity(), AnotherActivity.class); startActivity(intent); } }); 
 Button button = (Button) view.findViewById(R.id.button_ID); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent myintent = new Intent(getActivity(), CallingActivity.class); startActivity(myintent); } }); 

Вы должны использовать getActivity() для запуска Activity from Fragment .

Из фрагмента: Context – это родительская активность (getActivity()) .

 Intent intent = new Intent(getActivity(), AnotherActivity.class); startActivity(intent);