代码之家  ›  专栏  ›  技术社区  ›  kellogs

android转发声明在1.6中不起作用

  •  4
  • kellogs  · 技术社区  · 15 年前

    根据官方网站,Android支持从1.6版开始的转发声明。

    已将min-SDK和target-SDK要求都调整为“4”清单文件,eclipse的布局编辑器仍在抱怨相对布局中的未知声明:

    <xml>
    
    <CheckBox 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content"
      android:id="@+id/ChkBoxSaveuser"
      android:text="@string/options_saveuser"
      android:layout_above="@id/ChkBoxSavePwd"
      android:layout_marginTop="20dp"
      android:layout_alignLeft="@id/EditTxtServer"/>
    
     <EditText 
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/EditTxtServer" 
      android:maxLines="1"
      android:minWidth="200dp"
      android:layout_marginTop="10dp"
      android:layout_gravity="center_horizontal"
      android:layout_above="@id/ChkBoxSaveuser"/>
    
    </xml>
    

    在此行找到多个批注:

    • 错误:找不到与给定名称匹配的资源(位于'layout\u above'处,值为'@id/

    • “@id/EditTxtServer”)。

    1 回复  |  直到 6 年前
        1
  •  17
  •   William Scott    15 年前

    要使用前向引用,请在第一次使用引用时声明引用(使用“@+id/…”符号),而不是在实际元素上。

    <xml>
    
    <CheckBox 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content"
      android:id="@+id/ChkBoxSaveuser"
      android:text="@string/options_saveuser"
      android:layout_above="@+id/ChkBoxSavePwd"
      android:layout_marginTop="20dp"
      android:layout_alignLeft="@+id/EditTxtServer"/>
    
     <EditText 
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@id/EditTxtServer" 
      android:maxLines="1"
      android:minWidth="200dp"
      android:layout_marginTop="10dp"
      android:layout_gravity="center_horizontal"
      android:layout_above="@id/ChkBoxSaveuser"/>
    
    </xml>
    
    推荐文章