Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Studio未将xml文件标识为布局文件_Android_Xml_Android Layout_Android Studio_Intellij Idea - Fatal编程技术网

Android Studio未将xml文件标识为布局文件

Android Studio未将xml文件标识为布局文件,android,xml,android-layout,android-studio,intellij-idea,Android,Xml,Android Layout,Android Studio,Intellij Idea,我不小心在屏幕截图中使用新建->文件菜单而不是新建->布局资源文件创建了抽屉列表\u item.xml,现在我无法在设计模式下将其作为常规布局文件打开。它以纯文本文件的形式打开 有什么办法可以改变它的类型吗。通过Android Studio的设置,我找不到任何与此相关的内容 文件内容: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.c

我不小心在屏幕截图中使用
新建->文件
菜单而不是
新建->布局资源文件
创建了
抽屉列表\u item.xml
,现在我无法在设计模式下将其作为常规布局文件打开。它以纯文本文件的形式打开

有什么办法可以改变它的类型吗。通过Android Studio的设置,我找不到任何与此相关的内容

文件内容:

  <?xml version="1.0" encoding="utf-8"?>
  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent">

              <TextView
              android:layout_width="match_parent"
              android:layout_height="match_parent" />

  </LinearLayout>
  • 如果我将文件重命名为drawer_item.xml,它将获得图标并被视为布局文件。如果我将其重新命名为drawer\u list\u item.xml,问题将再次出现。所以它可能在某处将其索引为纯文本文件

  • 无效缓存/重新启动无法解决此问题
  • 尝试将
    .idea/workspakce.xml
    重命名为
    .idea/workspace.xml.bk
    ,以便在我遗漏某些内容时重新创建它-仍然没有运气。我甚至尝试从根文件夹中删除
    .idea
    文件夹和
    app.iml
    文件,但没有修复

  • 找到了问题的根源-它位于Android Studio在您的主目录中创建的配置文件中:
    ~/.AndroidStudioPreview2.0
    。在我的例子中,它是
    ~/.AndroidStudioPreview2.0/config/options/filetypes.xml

        <application>
          <component name="FileTypeManager" version="16">
            <ignoreFiles list="*.hprof;*.pyc;*.pyo;*.rbc;*~;.DS_Store;.git;.hg;.svn;CVS;RCS;SCCS;__pycache__;_svn;rcs;" />
            <extensionMap>
              <mapping pattern="drawer_list_item.xml" type="PLAIN_TEXT" />
            </extensionMap>
          </component>
        </application>
    
    
    
    因此,似乎我不知何故使Android Studio将文件名模式
    drawer\u list\u item.xml
    索引为纯文本。。。
    从文件中删除该映射条目可以解决问题:

    我只需在项目视图中右键单击该文件,然后在Android Studio 2.2.x中选择“标记为XML”


    首选项->文件类型
    并删除注册模式
    当Android Studio创建错误的索引/缓存时,有时会发生这种情况

  • 转到文件菜单
  • 单击使缓存无效/重新启动
  • 重新启动IDE并等待IDE重新索引文件

  • 做了这些之后应该没问题…

    我也遇到了类似的问题,因为其中一个活动文件中有
    importandroid.R
    。刚刚删除了它,现在一切都好了。

    为什么不直接删除并重新制作它呢?我尝试过,但它创建它的方式与您第二次创建布局资源文件的方式相同。
    New->Layout resource file
    我很好奇,因为AS应该将.xml文件识别为布局文件,并显示xml图标(就像在您的活动中的\u details.xml)。我刚刚尝试使用new->file创建test.xml,它给出了正确的.xml图标。可能因为某些内容不同步而尝试重新启动,我建议
    文件->使缓存无效并重新启动。
    在我的计算机上,
    文件类型.xml
    的位置是
    ~/Library/Preferences/AndroidStudioX.X/options/filetypes.xml
    遗憾的是,我没有“标记为xml”如果每次添加新资源时都要重新启动Android Studio,那就太不方便了file@lollerskates如果您愿意,您可以向Jet Brains公司报告此错误。幸运的是,即使在缓存失效和restart@LenaBru首先尝试其他答案,如果它们不起作用,从“文件”菜单中完全关闭android studio中的项目,然后移动到主项目文件夹中的.idea文件夹并将其删除,然后从“文件”菜单中再次打开项目,打开。您的android studio将重新生成一个全新的.idea文件夹,项目缓存将刷新!希望这有帮助
        <application>
          <component name="FileTypeManager" version="16">
            <ignoreFiles list="*.hprof;*.pyc;*.pyo;*.rbc;*~;.DS_Store;.git;.hg;.svn;CVS;RCS;SCCS;__pycache__;_svn;rcs;" />
            <extensionMap>
              <mapping pattern="drawer_list_item.xml" type="PLAIN_TEXT" />
            </extensionMap>
          </component>
        </application>