【问题标题】:Rendering Problems Couldn't resolve resource @id/search_edit_frame渲染问题无法解决资源@id/search_edit_frame
【发布时间】:2016-11-07 03:14:02
【问题描述】:

渲染问题无法解决资源@id/search_edit_frame

这是我在 xml 文件中遇到的渲染错误。我认为这与我的support.v7.SearchView 有关,下面是我的xml:

 <RelativeLayout
    android:id="@+id/layout_ricerca"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:background="@drawable/search_border_backgroud"
    android:layout_marginStart="10dp"
    android:layout_marginEnd="10dp"
    android:layout_marginTop="20dp">

    <android.support.v7.widget.SearchView
        android:id="@+id/testo_ricerca"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:queryHint="@string/search_hint"
        android:textSize="25sp"
        android:layout_marginStart="5dp"
        android:iconifiedByDefault="false"/>

    <ImageButton
        android:id="@+id/tasto_ricerca"
        android:background="@color/trans"
        android:layout_marginTop="2dp"
        android:layout_width="45dp"
        android:layout_height="match_parent"
        android:layout_marginEnd="3dp"
        android:scaleType="centerInside"
        android:layout_alignParentEnd="true"
        android:src="@drawable/tasto_ricerca"/>
</RelativeLayout>

当我将&lt;android.support.v7.widget.SearchView 更改为&lt;SearchView 时,错误消失了,但这对我来说不是一个好的解决方案,因为我必须更改我的所有java 代码才能使用SearchView 而不是android.support.v7.widget.SearchView

有谁知道如何解决这个问题?为什么会这样?我不认为我的 xml 有什么问题。

编辑:

添加错误截图

【问题讨论】:

标签: android xml android-layout rendering searchview


【解决方案1】:

使用此代码

<SearchView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/searchView"
android:iconifiedByDefault="true"
android:queryHint="Search"
android:layout_centerHorizontal="true" />

【讨论】:

    【解决方案2】:

    当你有大量的缓存数据存储在Android Studio时,这种类型的错误就来了..

    有很多方法可以解决。

    1. 最快的方法是FileInvalidate caches / Restart...Just Restart.

    2. 右击projectSynchronize ...Project

    3. 点击Build menu --> 选择Clean Project,然后选择Rebuild it

    【讨论】:

    • 感谢您的回答!但错误仍然存​​在
    • @Daniele 发布屏幕截图。
    • 请看我的问题,我已经添加了截图
    • @Daniele 渲染问题仅在API 23 中显示,其他一切正常。
    • 同样的错误发生在我身上,我发现我忘记指定自定义的 'id'。在我这样做之后,我需要应用@Ironman 答案,问题就消失了
    【解决方案3】:

    要解决此问题,请提供

    android:id="@+id/search_edit_frame"
    

    归属于父视图,例如

    android.support.design.widget.AppBarLayout
    

    或任何作为 SearchView 父级的 ViewGroup。

    例如:

    <android.support.design.widget.AppBarLayout
      android:id="@+id/search_edit_frame"
      android:layout_width="match_parent"
      android:layout_height="@dimen/my_app_bar_height">
    
      <android.support.v7.widget.SearchView
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
    
    <android.support.design.widget.AppBarLayout />
    

    【讨论】:

    • 这是炸弹,非常适合我! android id 资源中仅缺少“@”。 :)
    • @Red M 是android:id="+id/search_edit_frame" 还是android:id="@+id/search_edit_frame" ??
    • 它适用于我使用 android:id="@+id/search_edit_frame"
    【解决方案4】:
        android:id="@+id/search_edit_frame"
    

    将以上行添加到对我有用的父布局中

    【讨论】:

      【解决方案5】:

      这是一个简单的解决方案。

      不需要使缓存失效或重新启动。 只需将以下行添加到您的 strings.xml 文件中,问题就会得到解决。

       <item name="search_edit_frame" type="id"/>
      

      宾果游戏!

      【讨论】:

        【解决方案6】:

        我有同样的问题,但在 Eclipse IDE 中,我通过 1-单击项目->清理,它解决了我的问题

        【讨论】:

          猜你喜欢
          • 2023-03-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-12-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-01-24
          相关资源
          最近更新 更多