android - (Android Studio,Kotlin)Imageview 中的图像在单击时不显示
问题描述
大家好,我在单击时在 ImageView 中显示图像时遇到问题,我创建了一个功能来在单击图像时显示我已经在示例游戏的每个图像视图中添加了.xml中的android:onClick="drops",我使用具有 9 个图像视图的网格布局(3x3)
这是函数的代码。
fun drops(view: View){
val imageView = ImageView(this)
var player = 0;
if (player == 0){
imageView.setImageResource(R.drawable.yellow)
imageView.animate().alpha(1f).rotation(360f).setDuration(600)
player == 1
}else {
imageView.setImageResource(R.drawable.red)
imageView.animate().alpha(1f).rotation(360f).setDuration(600)
player == 0
}
}
解决方案
我不确定这个函数包含在哪个类中,我想它在 aFragment
或Activity
. 正如您所说,您正在将图像视图与drops
xml 布局中的方法绑定。
这行可能是问题所在:
val imageView = ImageView(this)
从您的问题中,我们无法看到该方法定义在哪个类中,因此表达式this
可以是任何东西。您可能会ImageView
从整个 Activity 或 Fragment 对象中实例化一个,并且无法以您希望的方式工作。所以我建议把这一行改写成这样:
val imageView = view as ImageView
该函数drops
接收一个View
参数,即用户单击的图像视图 - 但View
类没有调用方法setImageResource
,因此您需要将其转换为所需的子类型(ImageView 是 View 的子类)。这应该可以完成这项工作。
推荐阅读
- html - 使用(焦点)检索输入的值
- elasticsearch - 弹性聚合一个结果
- c# - 如何使该方法在一个列表中使用来自不同表和字段的值填充列表?
- mysql - mysql更新以另一个结尾结尾的值
- azure-cosmosdb - 如果需要 ACID 事务,在 CosmosDB 存储过程中强制延续有什么意义
- kubernetes - kubernetes 滚动更新不会创建新的 pod
- android - 如何创建文本动画,其中文本从 android 中的字母轮廓形成?
- python - python pandas重命名列名以开头
- php - 结束标签与结束标签冲突
- visual-studio-2017 - Visual Studio 2017/2019 Razor 页面键盘快捷键查看 cshtml.cs 文件(代码隐藏)