Ошибка cannot find symbol loadAnimation при работе с AnimationUtils
У меня возникает ошибка при попытке создать анимацию.
Вот код моей activity:
package com.example.test;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.widget.Button;
import android.widget.ImageView;
import com.google.android.material.animation.AnimationUtils;
import static java.security.AccessController.getContext;
public class MainActivity extends AppCompatActivity {
Button fadeIn, fadeOut;
ImageView imageView;
Animation animFadeIn, animFadeOut;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
private void init(){
fadeIn = findViewById(R.id.fade_in);
fadeOut = findViewById(R.id.fade_out);
imageView = findViewById(R.id.image_view);
fadeIn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
animFadeIn = AnimationUtils.loadAnimation(getContext(),R.anim.fade_in);
imageView.setVisibility(View.VISIBLE);
imageView.startAnimation(animFadeIn);
}
});
fadeOut.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
animFadeOut = AnimationUtils.loadAnimation(this,R.anim.fade_out);
imageView.setVisibility(View.VISIBLE);
imageView.startAnimation(animFadeOut);
}
});
}
}
В Android Studio loadAnimation светится красным...
как это исправить?
Вот текст ошибки:
C:\Users\Oleg\AndroidStudioProjects\test\app\src\main\java\com\example\test\MainActivity.java:37: error: cannot find symbol
animFadeIn = AnimationUtils.loadAnimation(getContext(),R.anim.fade_in);
^
symbol: method loadAnimation(AccessControlContext,int)
location: class AnimationUtils
Ответы (1 шт):
Автор решения: Михаил Ребров
→ Ссылка
Ошибка говорит о том, что компилятор не может найти метод loadAnimation в классе AnimationUtils.
Это может быть из-за того что
- вы импортировали другой класс с таким же названием но другой реализацией
- вы используете другую версию андроида, в которой данного метода нет
- вы скопировали код с невидимыми символами, либо опечаткой...
- либо могли допустить опечатку сами...к примеру нечаянно туда могла кириллица нечаянно пробраться.
В вашем случае случилось первое - вы импортировали другой класс AnimationUtils
Замените строку
import com.google.android.material.animation.AnimationUtils;
на
import android.view.animation.AnimationUtils;
по идее все должно заработать.
