在Android API 23中,setbackgrounddrawable方法不起作用的原因可能是由于API的变化或者使用方法不正确。setbackgrounddrawable方法用于设置View的背景,但在API 23中可能存在一些限制或者更改。
解决这个问题的方法是使用其他适用于API 23的方法来设置View的背景。以下是一些可能的解决方案:
- 使用setbackground方法:在API 23中,可以使用setbackground方法来设置View的背景。该方法接受一个Drawable对象作为参数,可以通过ContextCompat.getDrawable方法获取Drawable对象。示例代码如下:
- 使用setbackground方法:在API 23中,可以使用setbackground方法来设置View的背景。该方法接受一个Drawable对象作为参数,可以通过ContextCompat.getDrawable方法获取Drawable对象。示例代码如下:
- 推荐的腾讯云相关产品:无
- 使用setBackgroundResource方法:如果你的背景是一个资源文件,可以使用setBackgroundResource方法来设置View的背景。该方法接受一个资源ID作为参数。示例代码如下:
- 使用setBackgroundResource方法:如果你的背景是一个资源文件,可以使用setBackgroundResource方法来设置View的背景。该方法接受一个资源ID作为参数。示例代码如下:
- 推荐的腾讯云相关产品:无
- 使用setBackgroundTintList方法:如果你想要为View设置一个颜色作为背景,可以使用setBackgroundTintList方法。该方法接受一个ColorStateList对象作为参数。示例代码如下:
- 使用setBackgroundTintList方法:如果你想要为View设置一个颜色作为背景,可以使用setBackgroundTintList方法。该方法接受一个ColorStateList对象作为参数。示例代码如下:
- 推荐的腾讯云相关产品:无
需要注意的是,以上方法仅适用于API 23及以上版本。如果你的应用需要兼容低版本的Android系统,可以使用兼容库或者条件语句来处理。
总结:在Android API 23中,setbackgrounddrawable方法不起作用时,可以尝试使用setbackground、setBackgroundResource或者setBackgroundTintList方法来设置View的背景。具体选择哪种方法取决于你的需求,是否需要使用Drawable对象、资源文件或者颜色作为背景。