复制的Android studio项目无法重构,因为它们已链接

复制的Android studio项目无法重构,因为它们已链接,android,xml,android-studio,android-layout,Android,Xml,Android Studio,Android Layout,我已经做了很多复制和粘贴我的布局和项目在他们。如果我复制并粘贴这些,然后尝试重构它们的名称,它们也会更改我所有副本的名称。这在xml代码编辑器或我的设计编辑器中发生。有人能告诉我这叫什么吗?我如何在不链接项目的情况下复制和粘贴?我很沮丧。谢谢 例如,如果我有一个Id为“tv”的textview,然后我复制xml块并将其粘贴到其他地方以使用同一块,然后重构以重命名其Id,那么原始和副本都将更新。我想粘贴一个没有像这样链接的文本视图版本。副本没有“链接”。它们只是使用相同的名称,因此如果您尝试重构副

我已经做了很多复制和粘贴我的布局和项目在他们。如果我复制并粘贴这些,然后尝试重构它们的名称,它们也会更改我所有副本的名称。这在xml代码编辑器或我的设计编辑器中发生。有人能告诉我这叫什么吗?我如何在不链接项目的情况下复制和粘贴?我很沮丧。谢谢

例如,如果我有一个Id为“tv”的textview,然后我复制xml块并将其粘贴到其他地方以使用同一块,然后重构以重命名其Id,那么原始和副本都将更新。我想粘贴一个没有像这样链接的文本视图版本。

副本没有“链接”。它们只是使用相同的名称,因此如果您尝试重构副本,那么Android Studio会在原始名称中找到该名称并将其重命名。相反,您必须手动编辑副本,而无需使用Android Studio重构工具


如果您使用版本控制,另一个选项是执行重命名重构,然后使用Ctrl+Alt+Z撤消原始文件中未提交的本地更改。

当您在布局文件中写入
android:id=“@+id/foo”
时,系统将在名为
R.java
的文件中生成
int
值,类似于
R.id.foo=0x7f123456

然后在另一个文件中再次写入
android:id=“@+id/foo”
时,该文件将引用相同的
R.id.foo
int。因此,在使用重构工具时,将考虑
@id/foo
的所有实例

也许您可以使用简单的文本查找/替换操作,而不是重构->重命名