我正在使用一种直观但可能不规范的快捷方式,我想知道它是否会引起问题,是否是不好的形式,或者是否有不同的更被接受的方法。
这个快捷方式是:在一个期望一个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);
}
}
看起来它能够正常工作 - 也就是说,到目前为止它一直在按照我的意愿运行,并且我还没有观察到任何不良影响,比如崩溃或者在设备内部创建量子奇点。
这样做安全吗? 这样做是否合适? 我已经尝试了 S'dTFW 来获取一个在这种情况下被认为是“null”的官方整数值,但是没有成功。有人知道是否存在这样的值吗?
编辑: 我意识到标签“r”并不是我想要的那个。标签“android.R”似乎不存在。所以我现在将删除这个标签。