java - 尝试在空对象引用上调用虚拟方法 'android.view.ViewPropertyAnimator android.widget.ImageView.animate()'
问题描述
我正在尝试制作一个简单的动画,该图像最初没有出现,但在它从屏幕左侧旋转 180 度后出现了一定的秒数。所以我在 onCreate 方法中做了一个脚本:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ImageView Bart = (ImageView) findViewById(R.id.bart);
Bart.animate().translationXBy(-3000);
Bart.animate().translationXBy(4000).rotation(180).setDuration(2000);
}
但由于某种原因,我收到一条错误消息,说我正在尝试在空对象引用上调用虚拟方法。可能是什么问题?谢谢
解决方案
你没有setContentView()
设置onCreate
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main)// add this with your layout Id
ImageView bartImageView = (ImageView) findViewById(R.id.bart);
bartImageView.animate().translationXBy(-3000);
bartImageView.animate().translationXBy(4000).rotation(180).setDuration(2000);
}
也很少有建议采用以小写字母开头的 camelCase 变量。向变量添加一些标识符,表明它是什么,比如bartImageView
等等bartIV
。
推荐阅读
- ejabberd-module - 如何在 ejabberd 中实现模块?
- android - Flutter:我想以编程方式从 Flutter 应用程序重新启动 android 设备
- python - Spark:嵌套的 json 数据和重复的列名(pyspark)
- prolog - 如何构造谓词指标?
- python - 停止循环中的 mp3 填充
- azure-devops - 如何使用 Azure DevOps 管道表达式检查数组是否包含字符串
- c++ - VC++ 6.0 项目报错“多个操作符”+=" 匹配这些操作数”(已解决)
- java - 大文件处理 - 从故障点恢复
- css - CSS中右括号之前的数字?
- sql - Postgesql 不同计数提高性能