2011-03-07 34 views
4

我的工作中,我顯示的項目列表的Android應用程序,並允許用戶在一個星形圖標點擊喜歡的物品,然後將顯示在一個單獨的活動。ListView項燕子觸摸事件

對於這個名單,然後我使用與一個圖標,該項目的名稱一個TextView和喜愛的按鈕,一個按鈕一個ImageView的RelativeLayout的。

我的問題是,沒有按鈕列表項正確觸摸和光暈上響應觸摸。但是,隨着按鈕,他們不正常發光,但他們將會觸發我在Android放置任何方法:的的onClick XML屬性的RelativeLayout的

有誰知道的方式來解決這個問題?

回答

0

有很多的計算器問題在此,但沒有NE這似乎給一個簡單的解決方案,所以我張貼什麼工作我在這裏:

我的具體示例涉及ListFragment,在ListView每個項目包含一個標準按鈕。我希望按鈕和列表視圖可以單獨點擊。

在listFragment,補充一點:

@Override 
    public void onActivityCreated (Bundle savedInstanceState) { 
     super.onActivityCreated(savedInstanceState); 

     this.getListView().setItemsCanFocus(false); 
    } 

的XML中的行項目,將其添加到按鈕XML:

android:focusable="false" 

..就是這樣。對我來說有詭計了。

+0

這是否仍可通過軌跡球聚焦:您可以通過覆蓋適配器的getView法這樣做呢?更喜歡支持軌跡球的解決方案,因爲許多舊手機仍在使用它們。 – 2012-05-04 11:01:13

+0

另一個小問題是:即使它在行上註冊了「onListItemClick」(而不是按鈕上的「onClick」),單擊該行使該按鈕顯示爲按下狀態。任何解決方案? – Karakuri 2012-08-29 21:46:49

7

使用你有一個ImageButton的調用

myImageButton.setFocusable(false); 

編程方式,因爲它的構造它設置爲true。

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    View view = super.getView(position, convertView, parent); 
    view.findViewById(R.id.idOfYourImageButton).setFocusable(false); 
    return view; 
}