只是一个简单的问题,在开发Android应用程序时使用的ids.xml是什么?我在android资源网页上看到一个例子,其中包含:
<resources>
<item name="snack" type="id"/>
</resources>
Run Code Online (Sandbox Code Playgroud)
这将用于什么?
Yas*_*mar 28
id.xml通常用于声明用于布局中视图的id.
你可以用类似的东西
<TextView android:id="@id/snack">
Run Code Online (Sandbox Code Playgroud)
对于你给定的xml.
小智 26
ids.xml具有以下优点:声明了所有id,因此编译器可以识别它们.如果是这样的话:
<TextView
android:id="@+id/text1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignBelow="@id/text2"
android:text="...."/>
<TextView
android:id="@+id/text2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="...."/>
Run Code Online (Sandbox Code Playgroud)
可能导致编译错误,因为text2在声明之前被引用
id.xml的另一个应用程序是关于布局和库项目.假设您在库(对话框)布局中指定了一个通用的选项列表
<CheckedTextView android:id="@+id/checked_option_one"...
<CheckedTextView android:id="@+id/checked_option_two"...
...
Run Code Online (Sandbox Code Playgroud)
并在通用(对话框)片段中处理这些视图
optionOneCheck = (CheckedTextView)rootView.findViewById(R.id.checked_option_one);
optionTwoCheck = (CheckedTextView)rootView.findViewById(R.id.checked_option_two);
Run Code Online (Sandbox Code Playgroud)
如果从主项目中的布局副本中删除任何视图声明,则在运行时将出现"无此字段"错误异常.
编译器不会抱怨,但在运行时,id实际上并不存在/已知.
在id.xml中声明id并使用
<CheckedTextView android:id="@id/checked_option_one"...
...
Run Code Online (Sandbox Code Playgroud)
避免运行时错误
| 归档时间: |
|
| 查看次数: |
24658 次 |
| 最近记录: |