2011-12-07 131 views
8

我在我的XML聲明的列表視圖:安卓:ID列表視圖

<?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> 

但是,當我試圖聲明/用它去渣,該ID是找不到的。但是,當我將列表視圖重命名爲其他內容並嘗試使用它時,我可以看到它「R.id. _」,但是當R.id.list找不到它時。如果我沒有使用android:list,那麼應該有一個列表視圖,其id是android:list。這裏有幫助嗎?

+0

還有什麼包括在您的佈局或可能是你沒有提到的額外細節?我嘗試了一個乾淨的(帶有xml頭文件)佈局文件的代碼片段,但它不起作用。 – Alexandre

回答

25

你的ListView對象ID應該聲明爲機器人:ID = 「@機器人:ID /列表」

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

,或者它應該有一些其他的ID喜歡機器人:ID = 「@ + ID/sampleList」

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

檢查:ListActivity

list

希望這會有所幫助。

+0

它工作正常,謝謝:) – Kev

+0

不客氣... – Ian

3

在XML佈局使用,

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

/> 

在Java代碼:

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

如果你需要使用Android ID爲列表視圖,然後替換你的代碼

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

它可以幫助你..

+0

仍然存在錯誤,列表名稱無法識別。 – Kev

+0

您使用過的笏碼?您是否使用我的答案的第一部分?請發佈你的錯誤。 – deepa

+0

不需要爲第二部分添加android id的infront,因爲這個id已經被定義了。這可能是爲什麼它不適用於OP – smac89