有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

具有getDrawable兼容性的java问题

这就是问题所在。我有它的方式与教科书列出它的方式相同,但由于getDrawable()已被弃用,我在将该行转换为ContextCombat时遇到问题

buttonItem.setImageDrawable(getResources().getDrawable(painting.getId()));

共 (1) 个答案

  1. # 1 楼答案

    您可以尝试使用ContextCompat.getDrawable(getActivity(), R.drawable.name);。这将按照活动主题的指示返回样式化的Drawable。您的代码大致如下所示:

    buttonItem.setImageDrawable(ContextCompat.getDrawable(getActivity(), painting.getId()));
    

    注意:我假设painting.getId()返回要设置为按钮可绘制的图像的资源id。此外,如果在活动中执行此操作,则应使用关键字this而不是getActvity()