2012-11-02 115 views
0

我在onCreate方法有這樣如下:setOnItemClickListener沒有得到所謂的

ListView lv = (ListView)findViewById(android.R.id.list); 
    adapter = new ModuleAdapter(this); 
    lv.setAdapter(adapter); 
    lv.setOnItemClickListener(this); 

然後在後面的代碼:

@Override 
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { 
    // TODO Auto-generated method stub 
    Log.v(TAG, "clicked"); 

} 

OnItemClickListener正在實施中。

我試圖從onItemClick發起一個新的活動,但它似乎沒有工作。

新的Android和不知道很多的Java。誰能幫忙?謝謝。

+0

嘗試使用R.id.list更改android.R.id.list,並告訴我它是否仍然無法正常工作。 – rtc11

+0

當我更改爲R.id.list – user1763170

+0

時,我得到「列表無法解析或不是字段」當我單擊某行時,logcat中沒有顯示任何內容。 – user1763170

回答

0

ListView lv =(ListView)findViewById(android.R.id.list); - 這是如果你想獲得android系統資源,但你想要在xml佈局上描述的listview。

比方說,它看起來像:

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

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

</LinearLayout> 

,所以你需要更改您的代碼

的ListView LV =(ListView控件)findViewById(R.id.listView1);

一些解釋: android.R - 這是Android操作系統的默認資源 - llike按鈕,圖片列表視圖項目佈局等 R. - 它是你的項目resoures完整路徑喜歡[你的包路徑]爲.R例如:com.example.R

+0

謝謝我最初有android:id =「@ android:id/list」,但我已將其更改爲@ + id/list,但這會使應用程序崩潰。頭油炸,明天可能要看這個。謝謝你的幫助。 – user1763170

+0

我已經按照你的建議修改了我的代碼。我仍然從點擊事件中完全沒有反應。我的代碼中是否還有其他線索可能導致此問題?我的行只包含文本字段,儘管我已經嘗試將其設置爲可重點並且可點擊爲false,如其他堆棧溢出線程所示。我正在擴展適配器的基礎適配器,如果這影響任何東西? – user1763170

0

您是否在您的佈局中將FocusableInTouchMode設置爲true?如果是這樣,那麼onItemClick將不會被調用。當我改變了寬度和啓用屬性

0

試試這個變化在xxx_row.xml

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:enabled="false"> 
</TextView> 

至少對我來說它的工作。

+0

嗨,我在幾個月前發現了這個問題的解決方案併發布瞭解決方案。這些權力似乎已經被刪除了,這是因爲他們最瞭解的原因。這是正確的。 – user1763170