Java 在Android中定义相同的ID可以吗?
我知道,如果我们定义不同的ID,将来很容易找到它。我找到了很多答案,但它们不是我想要的。我有一个java函数,它有点长,将在许多java活动中使用。因此,我不可能为每个java和xml活动更改ID。那么,在不同的XML和JAVA文件中使用相同的ID可以吗?或者他们会以任何方式使应用程序崩溃吗?IDs示例: XML活动一:Java 在Android中定义相同的ID可以吗?,java,android,xml,Java,Android,Xml,我知道,如果我们定义不同的ID,将来很容易找到它。我找到了很多答案,但它们不是我想要的。我有一个java函数,它有点长,将在许多java活动中使用。因此,我不可能为每个java和xml活动更改ID。那么,在不同的XML和JAVA文件中使用相同的ID可以吗?或者他们会以任何方式使应用程序崩溃吗?IDs示例: XML活动一: <TextView android:id="@+id/resultview" /> printresult = (TextView) fi
<TextView android:id="@+id/resultview" />
printresult = (TextView) findViewById(R.id.resultview);
<TextView android:id="@+id/resultview" />
printresult = (TextView) findViewById(R.id.resultview);
XML活动二:
<TextView android:id="@+id/resultview" />
printresult = (TextView) findViewById(R.id.resultview);
<TextView android:id="@+id/resultview" />
printresult = (TextView) findViewById(R.id.resultview);
正如您在上面看到的,有不同的XML和JAVA,但ID是相同的。您不会有问题,因为组件在不同的XML中。但最好给它们起不同的名字,这样你自己会更舒服。例如:
<TextView android:id="@+id/resultview1" />
<TextView android:id="@+id/resultview2" />
是的,在不同的XML文件中使用相同的id是可以的。这里要考虑的一点是,活动会对特定布局进行充气,而findViewById方法会使用您充气的特定布局中的id查找视图。是的,这不会引入bug,但是这是一种不好的做法 您可以通过android studio的重构功能重构id。因此,如果您在这里更改id,android studio将搜索该特定id的用法并为您更改它们
在同一个文件中使用重复ID之前,不会出现任何问题。但这不是一个好的做法。为多个视图提供一个id没有问题,但是:
“那么在不同的XML和JAVA文件中使用相同的ID可以吗?”-可以。这不是问题。只是不要将相同的ID放在同一个文件中。
但这不是一个好的做法。
源代码?如果工具栏的功能完全相同,为什么我不在每个布局中为它提供完全相同的ID呢?当然这是基于偏好