Android L,连线效果在Gridview中无法正常工作

时间:2015-02-08 21:14:04

标签: android gridview rippledrawable

我使用sdk 21并将buttons添加到gridview。但是,不知何故,只有第一个按钮在点击时显示涟漪效果而其他按钮没有显示......

编辑:我发现如果我没有在按钮上添加onClick监听器,则会显示涟漪效果,但是在我添加监听器后,只有第一个显示涟漪效应......

编辑:嗯,经过进一步调查,我发现在调用setCompoundDrawablesWithIntrinsicBounds()后,效果消失了

我通过以下方式获得了resourceId:

        TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.hashtag_button);
        mSelectedResourceId = a.getResourceId(R.styleable.hashtag_button_selected_image, R.drawable.star_selected);
        mUnselectedResourceId = a.getResourceId(R.styleable.hashtag_button_unselected_image, R.drawable.star_unselected);
        a.recycle();

我通过以下方法更改图像:

public void setFavorite(boolean isFavorite) {
    mIsFavorite = isFavorite;
    if (mIsFavorite) { //Favorite
        this.setCompoundDrawablesWithIntrinsicBounds(0, 0, mSelectedResourceId, 0);
    } else { //Not Favorite
        this.setCompoundDrawablesWithIntrinsicBounds(0, 0, mUnselectedResourceId, 0);
    }
}

所以这只会导致第一个按钮产生连锁反应......不知道如何解决这个问题...

任何人都有同样的问题吗?

由于

0 个答案:

没有答案