2014-12-11 110 views

回答

1

你不能。

看看它是如何實現的(從here):

public void setSelected(boolean selected) { 
    //noinspection DoubleNegation 
    if (((mPrivateFlags & PFLAG_SELECTED) != 0) != selected) { 
     mPrivateFlags = (mPrivateFlags & ~PFLAG_SELECTED) | (selected ? PFLAG_SELECTED : 0); 
     if (!selected) resetPressedState(); 
     invalidate(true); 
     refreshDrawableState(); 
     dispatchSetSelected(selected); 
     notifyViewAccessibilityStateChangedIfNeeded(
       AccessibilityEvent.CONTENT_CHANGE_TYPE_UNDEFINED); 
    } 
} 
/** 
* Dispatch setSelected to all of this View's children. 
* 
* @see #setSelected(boolean) 
* 
* @param selected The new selected state 
*/ 
protected void dispatchSetSelected(boolean selected) { 
} 

有沒有什麼地方會從發生在頂層停止呼叫,這取決於具體的實施如何處理/傳播的信息..

+0

它看起來像dispatchSetSelected在ViewGroup級別上實現。我所做的是在自定義視圖中覆蓋它,它現在可以工作。感謝指針。 – Anonymouse 2014-12-11 02:01:43