我正在使用一种直观但可能是非正统的快捷方式,我只是想知道它是否会导致问题,是否是错误的形式,或者是否有不同的、更被接受的方法。
快捷方式是:在需要一个 R.drawable 常量的 int 的函数中,我有时使用 0 作为传递“null”的等价物。
这是我如何使用它的一种模板:
int someDrawable = isSomeCondition() ? R.drawable.somedrawable_identifier : 0;
mHandler.post(new UpdateSomeUI(someDrawable));
//and, elsewhere in the application,
private class UpdateSomeUI implements Runnable {
private final int someDrawable;
public UpdateSomeUI(int someDrawable) {
this.someDrawable = someDrawable;
}
public void run() {
mSomeImageView.setImageResource(someDrawable);
}
}
Run Code Online (Sandbox Code Playgroud)
它似乎有效 - 也就是说,到目前为止它一直在做我想做的事情,到目前为止我没有观察到像崩溃或在设备内产生量子奇点的不利影响。
这样做安全吗?这是坏形式吗?我 S'dTFW 表示某些官方整数值在这种情况下会被识别为“空”,但结果为空。有谁知道这样的值是否存在?
编辑:我意识到标签“r”不是我想要的那个。然而,标签“android.R”似乎并不存在。我想我现在会删除标签。
小智 5
在资源 ID 的 android 文档中找到了这个,小节常量,希望它有所帮助。
常量 ID_NULL 在 API 级别 29 中添加 static val ID_NULL: Int 空资源 ID。这表示在 XML 中找不到资源或值设置为 @null 时,系统返回无效的资源 ID。
值:0
| 归档时间: |
|
| 查看次数: |
3933 次 |
| 最近记录: |