Java ProgressBar在AnimationListener上给我NullPointerException
我正在做一个项目,在我的意图中添加了一个Java ProgressBar在AnimationListener上给我NullPointerException,java,android,animation,nullpointerexception,progress-bar,Java,Android,Animation,Nullpointerexception,Progress Bar,我正在做一个项目,在我的意图中添加了一个ProgressBar。ProgressBar位于图像顶部 每当我添加以下代码时 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_greet); pb = (ProgressBar)f
ProgressBar
。ProgressBar
位于图像顶部
每当我添加以下代码时
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_greet);
pb = (ProgressBar)findViewById(R.id.progressBar1);
pb.getAnimation().setAnimationListener(new AnimationListener(){
@Override
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
}
});
Intent intent = new Intent(Greet.this, SearchField.class);
startActivity(intent);
}
我得到一个nullPointerException
当我移除
pb.getAnimation().setAnimationListener(new AnimationListener(){
@Override
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
}
});
错误消失了
我不明白为什么我会得到NullPointerException,查看代码,一切看起来都应该是这样的
我觉得我即将在这里学到一些新东西,因为我清理了这个项目,尝试了它,错误总是不断发生。。所以我不确定我错过了什么
编辑:
XML中的ActivityGreet
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff"
tools:context=".Greet" >
<ImageView
android:id="@+id/fitnessPic"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:contentDescription="@string/description"
android:src="@drawable/appleorange"/>
<ProgressBar
android:id="@+id/progressBar1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="64dp" />
</RelativeLayout>
在图像上放置进度条是否存在已知问题
progressBar1
的ProgressBar
R
类,而不是android.R
,因为android.R
可能也包含R.id.progressBar1
我想您还没有在/res/anim文件夹中定义动画。按如下方式更改代码:
ProgressBar pb = (ProgressBar) findViewById(R.id.progressbar1);
Animation progressAnimation= AnimationUtils.loadAnimation(this, R.anim.progressAnim);
pb.startAnimation(progressAnimation);
并单独实现动画侦听器,而不是使其匿名
有关更多详细信息,请参阅。底部的建议均无效。