创建列表视图时不显示@id

时间:2018-09-19 03:38:32

标签: android-studio

在拖放设计以创建列表视图时,在我的xml中创建的唯一代码是:

<ListView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

未创建android:id="@id/example"/。我需要为我的Fragment类调用它

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_details, container, false);

    String[] menuItems={"Example1","Example2","Example3"};

    ListView listView = (ListView)view.findViewById(R.id.example);


    return view;
}

我无法调用ListView,因为android studio不允许我为其创建ID。在无法解析符号'@ id / example',验证Android XML文件中的资源引用时,我遇到以下错误:

我想念什么?

2 个答案:

答案 0 :(得分:1)

ID

  

任何View对象都可能具有与其关联的整数ID,以便唯一   在树中识别视图。编译应用后,此ID   以整数表示,但ID通常是在   在id属性中以字符串形式布局XML文件。这是一个XML   所有View对象(由View类定义)共有的属性,以及   您将经常使用它。 XML标记内的ID的语法   是:

android:id="@+id/example"
  

字符串开头的符号(@)表示   XML解析器应解析并扩展ID字符串的其余部分,   将其标识为ID资源。加号(+)表示这是   必须创建一个新的资源名称并将其添加到我们的资源中   (在R.java文件中)。还有许多其他ID资源   由Android框架提供。引用Android时   资源ID,您不需要加号,但必须添加android   包名称空间,如下所示:

android:id="@android:id/example"
  

在安装了android包命名空间之后,我们现在引用一个   来自android.R资源类的ID,而不是本地资源   课。

答案 1 :(得分:0)

如果是新ID,则需要向其中添加+

android:id="@+id/text"

请参阅Android文档:https://developer.android.com/guide/topics/ui/declaring-layout#write