2012-10-14 37 views
2

這看起來很簡單,但它不起作用。該ImageView的應該改變位圖時檢查,而是它總是顯示選中的圖像:ImageView與StateListDrawable不起作用

public void addImage() 
{ 
    ImageView imageView = new ImageView(context); 
    m_draw = new StateListDrawable(); 

    m_draw.addState(android.util.StateSet.WILD_CARD, m_bitmapUnchecked); 
    m_draw.addState(new int[] { android.R.attr.state_checked }, m_bitmapChecked); 

    imageView.setImageDrawable(m_draw); 

    this.addView(imageView); 
} 

public void onClick(View v) 
{ 
    m_draw.setState(new int[] { android.R.attr.state_checked }); 
} 

回答

3

第一個匹配的狀態將被設置的一個。你應該把WILD_CARD作爲最後的狀態。