我试图做一个简单的淡入淡出,通过从另一个类别调用它淡出我的活动中的动画。其实我有一个活动和两个简单的课程。在我Activiy我打电话从第一类这样的方法:从另一个类别开始动画
public TextView txt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txt = (TextView)findViewById(R.id.hello);
Megegy me = new Megegy(txt,MainActivity.this);
me.animatika();
}
下面是这个Megegy类:
public class Megegy {
TextView txt;
Activity activity;
public Megegy(TextView txt,Activity activity){
this.activity = activity;
this.txt = txt;
}
Fadede fa = new Fadede(activity,txt);
public void animatika(){
fa.animati();
}
}
在这个类我称之为从包含其他类一个方法的动画:
public class Fadede implements Animation.AnimationListener {
Animation animFadein;
Animation animFadeout;
public TextView txt;
Activity activity;
public Fadede(Activity activity, TextView txt) {
this.activity = activity;
this.txt = txt;
}
public void animati(){
animFadein = AnimationUtils.loadAnimation(activity, R.anim.fadein);
animFadein.setAnimationListener(this);
animFadeout = AnimationUtils.loadAnimation(activity, R.anim.fadeout);
animFadeout.setAnimationListener(this);
txt.startAnimation(animFadein);
}
public void onAnimationEnd(Animation animation) {
// Take any action after completing the animation
// check for fade in animation
if (animation == animFadein) {
}
}
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
}
}
而问题是,当我运行这个程序,我得到了 显示java.lang.NullPointerException这条线:
animFadein = AnimationUtils.loadAnimation(activity, R.anim.fadein);
我不知道是什么原因导致这个错误,但如果有人有一个请回复!
你为什么不把那行'Fadede FA =新淡出de(activity,txt);'在构造函数中? –