Android 如何将id设置为UI元素的数字?
我对两者都很感兴趣,也很困惑。前几天我在做一个项目,这个项目已经有人实施了。在完成这项工作之后,我发现他使用了一个唯一的编号作为其UI元素的find ID。就像我们需要找到TextView的id,然后我们写Android 如何将id设置为UI元素的数字?,android,findviewbyid,Android,Findviewbyid,我对两者都很感兴趣,也很困惑。前几天我在做一个项目,这个项目已经有人实施了。在完成这项工作之后,我发现他使用了一个唯一的编号作为其UI元素的find ID。就像我们需要找到TextView的id,然后我们写 TextView textview = (TextView)findViewById(R.id.text); 但在那段代码中,它就像 TextView textview = (TextView)findViewById(012345678); 类似这样的。我在项目中搜索了很多,也试图
TextView textview = (TextView)findViewById(R.id.text);
但在那段代码中,它就像
TextView textview = (TextView)findViewById(012345678);
类似这样的。我在项目中搜索了很多,也试图找到那个数字,但我找不到。在R.java文件中,我也检查了,但也没有。它的唯一id像往常一样自动生成,但我在整个项目中找不到一个数字
那么我的问题是我们怎么能这样使用?这可能吗
TextView textview = (TextView)findViewById(012345678);
如果这是可能的,那么我们可以在哪里定义id号并将其用于UI元素
谢谢你的帮助
从文件夹gen可以找到R.java,在图中有一个名为id的类
比如说
public static final int action_bar=0x7f06001c;
因此,我可以使用0x7f06001c来代替R.id.action\u bar。这并不像您想象的那样直接可行。您可以定义自己的自定义ID,这些ID不在任何xml文件中使用。我想这就是你想要的。要执行此操作,请使用以下内容在res/values/ids.xml中创建新的xml文件:
<resources>
<item name="your_custom_id" type="id"/>
</resources>
然后你可以用它作为R.id。你的自定义id我想这就是你想要的。你试过寻找十六进制吗?是的。但我不明白,因为我检查了整个项目,但我什么也找不到,我猜他只是在使用从R.java中取出的值。我认为这项技术很差,绝对不值得推荐。使用经典的方式要好得多:通过name@FrankN.Stein没有,因为我也检查了R.java文件,它的id不同。所以他可能是通过setId手动分配id!!。这样做的唯一原因是控件是以编程方式创建的以编程方式创建控件的唯一原因是您没有其他选择,因此我可以写012345678吗?我认为这应该在res/values/ids.xml中,这不会错,但是文件名并不真正关心AFIK。最后,所有值xml文件都合并到一个文件中,但您是对的,所以我将更新我的答案@PG_Android no,这是构建工具的硬编码标记。@rekire我已经尝试过了,但它在r.java文件中给出了一个错误。你的答案是废话。当您编辑任何资源时,该文件将被覆盖。文件顶部还有一个警告:自动生成文件。不要修改。该类由aapt工具根据找到的资源数据自动生成。它不应该手工修改。我知道编辑自动生成的文件会导致erorr。在我的回答中,我没有告诉编辑自动生成的文件。我解释了如何获取整数id。你误解了我@rekireWell我并不孤单,这确实是可能的,但不是一个好主意。是的,这让@rekire很难处理