对于高于版本21的SDK,我使用特定的布局 对于较低版本,我有一个额外的对象用于涟漪效果,我通过此区分我的代码中的布局。
if (Build.VERSION.SDK_INT < 21) {
RippleView rippleView1 = (RippleView) findViewById(R.id.ripple1);
...
}
但是当我在Android M上编译时,我收到了这个错误:
Error:(45, 68) error: cannot find symbol variable ripple1.
如果我在layout-v21中添加此对象,则不再出现此错误,并且仅在此情况下使用此对象。
我的问题是:当我的版本高于21时,Android如何输入此声明?
答案 0 :(得分:1)
如果您创建新文件res/values/ids.xml
<resources>
<item name="ripple1" type="id"/>
</resources>
在布局android:id="@id/ripple1"
中(删除加号)。
在Java代码中,保留if语句。应该编译好吗。