java - @android :id is not recognized by eclipse

标签 java android eclipse

在我的 xml 文件中,我有以下 ListView 。

<ListView
    android:id="@android:id/list"        
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/editText1"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="14dp"
    android:divider="@color/blue"
    android:dividerHeight="2dip"
    android:background="@drawable/list_divider"
    >
</ListView>

在我的 java 类中,我尝试按如下方式访问 View

ListView myListView = (ListView) findViewById(R.id.list);

“无法解析列表或不是字段”这句话导致我收到错误消息。但是如果我将 id 更改为 android:id="@+id/list"

如何通过这种方式使用 id 访问 View android:id="@android:id/list"

此外,两种定义 ID 的方式之间的基本区别是什么。提前致谢

最佳答案

假设您的Activity extends ListActivity,您可以使用便捷方法访问它

ListView myListView = getListView();

否则您将使用 android.R.id.list 访问它

Also whats the basic difference between two ways of defining ID

  1. @android:id 引用内置的 android resources
  2. @+id 是用户定义的 id 并将其添加到 R.java 文件中,以便稍后使用 @id 访问/li>

See this post about more on that

关于java - @android :id is not recognized by eclipse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29525245/

相关文章:

Java while循环中的Create语句用法

android - 显示项目名称以及存储在 sqlite for android 中的图像时出现问题

java - 处理 Android 项目时的 Eclipse 问题

java - android应用程序在最小化应用程序后自动启动

java - 导出 PDF 时出错,FOP "fo:list-item"不是 "fo:list-item-body"的有效子级!

java - IF 语句不起作用

javascript - 在 React Native 中获取 API 之前如何保存当前位置的经纬度坐标?

eclipse - 外部 jar 无法在 Ubuntu 中的 eclipse 中解析

java - 在 Android 中初始化 VM 时出错(java.lang.StackOverflowError)

java - 我们是否可以为每个客户服务单独设置功能区?