将listView id与android中的findViewbyid()相关联时遇到问题

时间:2013-06-18 06:43:23

标签: android xml android-listview android-xml

我正在尝试填充列表视图,并尝试在我的主要文件中选择我的列表视图:

lv = (ListView) findViewById(R.layout.activity_main.xml.id);

我的XML文件夹结构是:

  

RES>布局> activity_main.xml中

我的main_activity.xml文件如下所示:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true" >
    </ListView>

</RelativeLayout>

我认为这是一个简单的错误,我没有完全理解xml id值在android中是如何工作的。

4 个答案:

答案 0 :(得分:5)

更改以下

在OnCreate

setContentView(R.layout.activity_main);  
lv = (ListView) findViewById(R.id.list);

更改xml中的listview

<ListView
    android:id="@+id/list"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true" >
</ListView>  

答案 1 :(得分:1)

尝试如下:

setContentView(R.layout.activity_main);

lv = (ListView) findViewById(R.id.ist);

并在xml中更改listview的id,如下所示:

android:id="@+id/list"

答案 2 :(得分:1)

在活动代码文件(java)

中尝试此操作
ListView lv = (ListView) findViewById(android.R.id.list);

答案 3 :(得分:0)

在onCreate()中,您会找到setContenctView(R.layout.activity_main);如果没有,那么您必须添加它。确保将其设置为您要在代码java文件中使用的xml活动。然后,您可以使用

轻松引用listView
lv = (ListView) findViewById(R.id.list);

控件的xml中的id也以下列形式定义

 <ListView
    android:id="@+id/list"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true" >
</ListView>