Android Intent Не удается разрешить конструктор
У меня есть первый класс, расширяющий фрагмент, и второй класс, расширяющий Activity.
Мой фрагмент работает нормально, а мой код для намерения во фрагменте:
ImageButton button= (ImageButton) getView().findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent myIntent = new Intent(MyFragment.this, MyClass.class);
MyFragment.this.startActivity(myIntent); }
});
Мой класс MyClass:
public class MyClass extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// The activity is being created.
}
@Override
protected void onStart() {
super.onStart();
setContentView(R.layout.MyClass);
}
}
Ошибка:
Gradle: cannot find symbol constructor Intent(com.xxxx.xxxx.MyFragment,java.lang.Class<com.xxxx.xxxx.MyClass>)
Я не знаю, где я ошибся.
Ответы
Ответ 1
Использование
Intent myIntent = new Intent(v.getContext(), MyClass.class);
или
Intent myIntent = new Intent(MyFragment.this.getActivity(), MyClass.class);
чтобы начать новую активность. Это связано с тем, что вам нужно будет передать контекст приложения или компонента в качестве первого параметра в Intent Constructor, когда вы создаете намерение для определенного компонента вашего приложения.
Ответ 2
Или вы можете просто начать работу, как показано ниже:
startActivity( new Intent(currentactivity.this, Tostartactivity.class));
Ответ 3
Вы можете использовать это:
Intent intent = new Intent(getApplicationContext(), ClassName.class);
Ответ 4
Вы не можете использовать Intent Context
для создания намерения. Поэтому вам нужно использовать Fragment's
Parent Activity
Context
Intent intent = new Intent(getActivity(),MyClass.class);
Ответ 5
Использование .getActivity()
решает эту проблему:
Например,
Intent i= new Intent(MainActivity.this.getActivity(), Next.class);
startActivity(i);
Надеюсь это поможет.
Приветствия.
Ответ 6
Та же ошибка пришла с моим кодом в деятельности, но не во фрагменте. Отображение ошибки конструктора для другой строки, такой как новый Intent (From.this, To.class) и новый ArrayList<> и т.д.
Исправлено использование закрытия Android Studio и перемещение репозитория в другое место и повторное открытие проекта. Исправлена проблема.
Похоже, проблема сборки Android Studio.