什么是"built in TextView widget android:text1"和"ListView widget android:id/list"?



Android教程指南使用以下XML定义和引号:

<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@android:id/list"
  android:layout_width="match_parent"
  android:layout_height="match_parent"/>

这个XML使用内置的Android ListView小部件Android:id/list。

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@android:id/text1"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:clickable="true />

这个XML使用内置的Android TextView小部件Android:text1。

首先,我习惯看到这样定义id属性:

android:id="@+id/list1"

@android:id/list代替意味着什么?

第二,built-in ... widget在这种情况下意味着什么?

这些是Android SDK中定义的id,在Android SDK提供的一些布局XML文件中使用。您可以在XML(例如android:id="@android:id/text1")或Java(例如findViewById(android.R.id.text1))中直接引用这些id——请注意Java中的全限定名称。

其中一些id在某些上下文中具有特殊意义。例如,如果您要扩展ListActivityListFragment,则必须使用android:id="@android:id/list",因为这些类会查找具有特定ID的ListView作为其实现的一部分。(如果你不提供布局,这些类默认的布局只有一个ListView在里面)

请注意,您仍然可以在这些特殊情况之外使用这些id -没有什么可以阻止您给任何视图android:id="@android:id/list"

内置…小部件意味着你不需要在项目中使用任何特殊的库来使用这个小部件(它已经内置在android sdk中)。

Android默认文本视图是为当你不希望用户定义的显式文本视图与不同的属性,你可以使用它。它给出了简单和最好的表示我有一个可扩展的列表视图,而不是为文本视图定义不同的资源文件,我总是使用默认文本视图。

这里我给出了一些我喜欢使用的默认视图:

默认文本视图:findViewById(android.R.id.text1);listteam Text View: (android.R.layout.simple_list_item_1);可扩展的listteam文本视图:(android.R.layout。simple_expandable_list_item_2 null)

相关内容

  • 没有找到相关文章