Android - 在资源ID尝试设置Action Bar图标时的ResourcesNotFoundException

时间:2014-11-13 09:40:52

标签: android resources android-actionbar

我正在将操作栏图标更改为显示个人资料图片的CircleImageView

CircleImageView actionBarIcon_Profile = new CircleImageView(this);
actionBarIcon_Profile.setImageDrawable(getResources().getDrawable(R.drawable.my_picture));
actionBarIcon_Profile.setLayoutParams(new LayoutParams(48, 48));
actionBarIcon_Profile.setId(R.id.actionBarIcon_Profile);

getActionBar().setIcon(R.id.actionBarIcon_Profile);

ID保存在ids.xml中:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item type="id" name="actionBarIcon_Profile"/>
</resources>

我得到资源NotFoundException。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

setIcon期望收到资源的ID。该ID actionBarIcon_Profile只是您创建的唯一ID,没有与之关联的资源。这就是你获得ResourcesNotFoundException的原因。

您可以为动作栏的setIcon方法设置一个drawable。不是imageview。您需要创建一个圆形drawable而不是一个圆形imageView。