Java 错误的第一个参数类型
我对Java和Android开发比较陌生,所以很抱歉打扰您。 我想使用AnimationUtils.LoadAnimation()在长时间单击时创建淡入动画,但遇到错误: 错误的第一个参数类型。找到:“android.view.view.OnLongClickListener”,必需:“android.content.Context” 这是我的代码:Java 错误的第一个参数类型,java,android,animation,this,android-context,Java,Android,Animation,This,Android Context,我对Java和Android开发比较陌生,所以很抱歉打扰您。 我想使用AnimationUtils.LoadAnimation()在长时间单击时创建淡入动画,但遇到错误: 错误的第一个参数类型。找到:“android.view.view.OnLongClickListener”,必需:“android.content.Context” 这是我的代码: BasicsButton.setOnLongClickListener(new View.OnLongClickListener() {
BasicsButton.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
Vibrator vib = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
vib.vibrate(VibrationEffect.createOneShot(500,VibrationEffect.DEFAULT_AMPLITUDE));
}else{
vib.vibrate(500);
}
Animation in = AnimationUtils.loadAnimation(this, R.anim.fadein);
blurView.startAnimation(in);
blurView.setVisibility(View.VISIBLE);
return true;
}
我不知道什么是错的,这个例子似乎有效,但对我来说不是
提前谢谢。:) 问题如下所示
Animation in=AnimationUtils.loadAnimation(this,R.anim.fadein)代码>
由于上述方法是在匿名类中调用的,此
指的是onlongclicklister
而不是活动
将其更改为如下所示:
Animation in=AnimationUtils.loadAnimation(.this,R.anim.fadein)代码>如果在片段中使用此代码,请使用getContext()而不是此代码
您是否尝试过以下代码:
Vibrator vib = (Vibrator) getContext().getSystemService(Context.VIBRATOR_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
vib.vibrate(VibrationEffect.createOneShot(500,VibrationEffect.DEFAULT_AMPLITUDE));
}else{
vib.vibrate(500);
}
Animation in = AnimationUtils.loadAnimation(getContext(), R.anim.slide_in_left);
blurView.startAnimation(in);
blurView.setVisibility(View.VISIBLE);
@克鲁姆切特科夫太棒了!请记住,如果答案有用,请将其标记为已接受,以便其他人也能从中受益。当然,我会的,我只需等待几分钟,因为堆栈溢出还不允许我标记它。:)@克鲁姆切特科夫:当然。享受编码