java - 如何使用三元运算符缩小我的表达式
问题描述
我很想知道如何使用 ternator 运算符将此代码缩小为 1 行,这个想法是在 RecyclerView 中更改图像的可绘制对象,当它为 1 或 0 时,我已经这样做了,但我认为拥有多个如果其他人这样做,相反我知道它可以用三元运算符在 1 行中完成。
if(json.hasTime(mArrayList.get(mPosition))==1){
mHolder.imageEvent.setImageResource(R.drawable.ic_event_black_24dp);
}else{
mHolder.imageEvent.setImageResource(R.drawable.ic_event_busy_black_24dp);
}
我想做这样的事情:
(if 1 or 0 ? value 1 : value2 );
解决方案
试试这个 :
mHolder.imageEvent.setImageResource(json.hasTime(mArrayList.get(mPosition))==1 ? R.drawable.ic_event_black_24dp : R.drawable.ic_event_busy_black_24dp);
推荐阅读
- mysql - JPA saveall 方法是否使用休眠批处理来更新/插入
- docker - 如何在入口点脚本中通过 -e 键注入环境变量?
- c# - NLog - 无效的 xsi:type 'http://www.nlog-project.org/schemas/NLog.xsd:AzureAppendBlob'
- php - 具有相同值的浮点和字符串,php中的错误结果
- javascript - 如何在使用 GraphQl 和 Node.js 时验证用户电子邮件
- javascript - 如何在 finally 块中获得已解决的值/拒绝错误?
- sqlite - 在 UWP 应用中使用 EF Core 优化与 SQLite DB 的连接
- jupyter-notebook - 为什么我无法连接到本地运行时?按照谷歌的教程给我语法错误
- javascript - 理解 rxjs 中的 SwitchMap
- c - 做什么 | 0x01用C语言做什么?