Kev
Kev

Reputation: 173

Android: id list view

I have a list view declared in my xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical" 
    android:background="#F7EFE8">

    <ListView android:id="@+id/android:list"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent"/>
        <TextView android:id="@+id/android:empty"
          android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/no_message"/>
</LinearLayout>

But when I try to declare/use it to java, the id is not found. But when i rename the list view to something else and try to use it i can see it "R.id._" but when R.id.list I can't find it. And If I didn't use the android:list there's an error that there should be a list view whose id is android:list. Any help here?

Upvotes: 8

Views: 28598

Answers (3)

Kannan Suresh
Kannan Suresh

Reputation: 4580

Your ListView object id should be specified either as android:id="@android:id/list"

ListView lv = (ListView) findViewById(android.R.id.list);

or it should have some other id like android:id="@+id/sampleList"

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

Check this : ListActivity

and list

Hope this would help.

Upvotes: 28

ductran
ductran

Reputation: 10203

Try this: android:id="@+id/list" Then clean project and rebuild. In java, just call findViewById like this:

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


Ref: http://developer.android.com/reference/android/view/View.html

Upvotes: 0

deepa
deepa

Reputation: 2494

In xml layout use,

 <ListView
   android:id="@+id/list"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"

 />

In Java Code:

 ListView listview=(ListView)findViewById(R.id.list);// it takes id of listview from xml

if you need to use android id for listview then replace your code as

<ListView
 android:id="@+android:id/list"
 android:layout_width="wrap_content"
android:layout_height="wrap_content" >

It may help you..

Upvotes: 3

Related Questions