2010-11-30 33 views
6

我有這個自定義列表。每一行都包含一個圖像和兩行文字。我想在任何列表項被點擊時打開一個新的活動。但即使在實現setOnItemClickListener()之後,我也無法這樣做。如果我錯了,請糾正我。下面是列表的代碼。 PS:這是一個正常的活動,而不是活動。android list view可點擊問題

l1.setAdapter(new EfficientAdapter(this,eventTitleArray,eventDateArray,eventImageLinkArray)); 
    //l1 = getListView(); 
    l1.setClickable(true); 
    l1.setOnItemClickListener(new OnItemClickListener() { 
    @Override 
    public void onItemClick(AdapterView<?> arg0, View arg1, 
     int position, long arg3) { 
    Intent intent = new Intent(MainActivity.this, DisplayActivity.class); 
    Bundle b = new Bundle(); 
    b.putString("event", eventTitleArray[position]); 
    intent.putExtras(bundle); 
    startActivity(intent); 

    Toast.makeText(getApplicationContext(), "Opening detailed view for:"+eventTitleArray[position], Toast.LENGTH_SHORT).show(); 


    } 
    }); 

回答

13

請看看行佈局是否具有可獲得焦點是任何項目。如果ListView項目包含可聚焦的子項,則Listview處理程序將不會被觸發。

+0

我試過這樣做,holder.firstLine.setFocusable(false); \t \t \t \t holder.secondLine.setFocusable(false); \t \t \t \t holder.imageView.setFocusable(false);但它仍然不起作用。 firstLine,secondLine和imageView存在於每個行佈局中。 – 2010-12-03 12:07:06

2

我覺得這是在防止onItemClickListeners從當有你的項目視圖可聚焦意見發射的SDK中的錯誤。

所以你應該嘗試在你的物品的所有視圖上做一個setFocusable(false)。

問題描述here