您的位置:首页 > 移动开发 > Android开发

Android 动态设置view的id,id设置为数字

2017-07-02 14:16 459 查看
问题

动态给view设置id的时候会遇到以下错误。



因为在sdk17(4.2.2)以上可以使用myView.setId(View.generateViewId())才行,为了兼容,里面的id必须使用静态int类型。

解决方案

1、sdk17(4.2.2以上)

//设置View.generateViewId()
simpleDraweeViewicon.setId(View.generateViewId());


2、写在配置xml文件里



ids.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="layoutadd" type="id"/>
</resources>


代码中设置

AppRelativelayout mRelative = new AppRelativelayout(mContext);
mRelative.setId(R.id.layoutadd);


3、使用注解帮你搞定

将你所想定义的id按照下例写在代码中:

@android.support.annotation.IdRes
int TAG1401 = 1000;
int TAG1402 = 1001;
int TAG1403 = 1002;
int TAG1404 = 1003;
int TAG1405 = 1004;
int TAG1406 = 1005;
int TAG1407 = 1006;


在想要设置id的地方直接设置:

AppRelativelayout mRelative = new AppRelativelayout(mContext);
mRelative.setId(TAG1401);`这里写代码片`




原文链接:这里写链接内容
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  解决方案 android