【问题标题】:How to rename (Refactor) xml element in Android Studio without affecting other activities如何在不影响其他活动的情况下在 Android Studio 中重命名(重构)xml 元素
【发布时间】:2022-01-02 16:33:58
【问题描述】:

在我的 Android 移动应用项目中,我使用 Android Studio 作为 IDE。我在那里有多项活动。多个活动具有同名的 xml 元素(“myTextView”)。这些是完全不同的 xml textViews,它们位于不同的布局中,用于不同的彼此不相关的活动。唯一的共同点是这些 textView 具有相似的 id = "myTextView"。

我尝试为一项活动重命名 xml 布局中的 xml 元素。说,在 activity_layout1.xml 我想将“myTextView”重命名为“someonesTextView”。 Android Studio 通过重构自动实现。

但是,在重构期间,它会重命名所有其他活动中具有相同 id (myTextView) 的元素。最后,我在其他活动中有“someonesTextView”,尽管它们不相关。 我怎样才能避免这种情况?

【问题讨论】:

    标签: android android-studio intellij-idea refactoring


    【解决方案1】:

    在这种情况下,您不必重构 id,而是从 xml 文件的拆分或代码视图中编辑它。这是因为当您从设计视图重构或修改 id 时,它会修改所有其他具有相同 id 的 TextView。

    这是我个人的经历,因为我遇到了你所面临的......

    【讨论】:

    • 感谢您的回复。如果自动重构以这种方式工作,那看起来就像 intellij 错误......
    【解决方案2】:

    您可以设置重命名重构的范围 (idea 2020.3)。例如,关闭所有选项卡并仅打开 activity_main.xmlMainActivity.java 文件。然后,在 xml 中选择 id (Refactor -> Rename) 并在 "Scope" 下的 Rename 弹出对话框中依次选择 "Open Files"仅重命名这些文件中的 id。

    【讨论】:

    • 谢谢。然而,自动重构过程本身没有任何意义。那是因为自动重构应该让我们知道变量在整个项目中的使用位置,所以我们不需要手动搜索它的外观..
    猜你喜欢
    • 2020-12-17
    • 2012-05-18
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 2013-06-07
    • 2018-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多