我正在研究一个项目,并在我的意图中添加了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>
在图像上放置ProgressBar是否存在已知问题?
答案 0 :(得分:0)
ProgressBar
的{{1}}。progressBar1
课程,而不是R
,因为android.R
可能还包含android.R
。答案 1 :(得分:0)
我认为你还没有在 / res / anim 文件夹中定义动画。像这样更改你的代码:
ProgressBar pb = (ProgressBar) findViewById(R.id.progressbar1);
Animation progressAnimation= AnimationUtils.loadAnimation(this, R.anim.progressAnim);
pb.startAnimation(progressAnimation);
分别实现动画侦听器而不是匿名。
有关详细信息,请参阅Android Docs。